A good C Programming book.

G

G.

Hi all,

During my degree, BEng (Hons) Electronics and Communications Engineering, we
did C programming every year, but I never kept it up, as I had no interest
and didn't see the point. But now I really want to get back into it as I see
a point with GNU/Linux. I want to get my old skills back and write something
or help on some projects etc.

I need some good books. I used to have one called "A Book On C", but sold
it,
and I have been reading various tutorials on the web and the many devoted
websites.

Anyone have any recommendations?

One more question, should I go for C or C++? Which will benefit me more with
GNU/Linux?

Thanks for your time,

- --
Regards

http://www.magicfx.co.uk
http://www.suretecsystems.com
 
L

Leo Custodio

G.,

There are many aspects to consider when choosing a C book. "Problem Solving
and Program Design in C" (Hanly J., Koffman E.) is a very good one, for
beg./int. level; "C Programming Language" (Kernighan B., Ritchie D.) is also
a very good. If the person has clearly no idea of C, programming and
programming logic, I would say "C for Dummies" (Gookin D.)would be the best.
(Many will scream at me for that, sorry!).
Regarding your choice between C and C++....hard to say, even with "Which
will benefit me more with GNU/Linux?"
Depending on what type of application you will develop in Linux, C++ (object
oriented) might be better. But if what you will be doing is apply changes to
the kernel, or help out with current projects, C is better (as for they
currently use it).
My answer is: I don't know. (But I use C!) ;)

Hope I've helped.
Leo Custodio
(e-mail address removed)

--
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2

mQCNAz/nyswAAAEEAM1Jl14YqNlrUGmr4vh5OKGbDg5qiFnY/Ioqa5j5j9jlTsiH
7EJNlhIvu5OV223D0REUmWbFaKBQlnZAaDRRROb52YPuZ8NQfyu/C5zvTz8qubEx
jWn+nYryqKZxQsDwjntkNIMxx5n+QB7WhDltenCFE/VxYhsTa59EWqUqkz/RAAUR
tC5MZW9uYXJkbyBDLiBDdXN0b2RpbyA8YWxpZW5zcHJpdGVAaG90bWFpbC5jb20+
=xAh5
-----END PGP PUBLIC KEY BLOCK-----
 
J

Jalapeno

"Leo Custodio said:
If the person has clearly no idea of C, programming and
programming logic, I would say "C for Dummies" (Gookin D.)would be the best.
(Many will scream at me for that, sorry!).

I'd say that K.N. King's book: C a modern approach is a much, much
better choice for this person. Gookin's Apple II books weren't all that
hot either.

--
"Well, coming from the AeroSpace Manufacturing field, I must add
that titanium is an alloy of aluminum, magnesium and other metals,
so I would assume since titanium is 65% magnesium that it would
react in a very similar manner."
Bill Garber in comp.sys.apple2 Posting-Date: Fri, 07 Feb 2003
03:02:11 -0600 Message-ID: <[email protected]>
 
G

G.

Leo Custodio said:
G.,

There are many aspects to consider when choosing a C book. "Problem Solving
and Program Design in C" (Hanly J., Koffman E.) is a very good one, for
beg./int. level; "C Programming Language" (Kernighan B., Ritchie D.) is also
a very good. If the person has clearly no idea of C, programming and
programming logic, I would say "C for Dummies" (Gookin D.)would be the best.
(Many will scream at me for that, sorry!).
Regarding your choice between C and C++....hard to say, even with "Which
will benefit me more with GNU/Linux?"
Depending on what type of application you will develop in Linux, C++ (object
oriented) might be better. But if what you will be doing is apply changes to
the kernel, or help out with current projects, C is better (as for they
currently use it).
My answer is: I don't know. (But I use C!) ;)

I decided to get a cheap one off ebay, and I got "Practical C++ Programming"
by O'reilly for £6, I am looking for the K&R one and the "Practical C
Programming" by O'reilly too. I think I will start with C first, as I am
familar with it, and general programming practice, then when/if I do some
gui work, start on C++.

Thanks for your time,

Gavin.
 
G

G.

[snip]
I'd say that K.N. King's book: C a modern approach is a much, much
better choice for this person. Gookin's Apple II books weren't all that
hot either.

I will check this one out too.

Thanks.
 
A

August Derleth

G. said:
I decided to get a cheap one off ebay, and I got "Practical C++ Programming"
by O'reilly for £6, I am looking for the K&R one and the "Practical C
Programming" by O'reilly too.

"Practical C Programming" might not be a wise buy, actually. Same with
"Practical C++ Programming". Neither got good reviews by the ACCU
(Association of C and C++ Users), which is generally held in high regard.

http://www.accu.org/cgi-bin/accu/rvout.cgi?from=0ti_p&file=p001735a
-- Review of "Practical C Programming"
http://www.accu.org/cgi-bin/accu/rvout.cgi?from=0ti_p&file=p001010a
-- Review of "Practical C++ Programming"
Both got a "Not Recommended" rating.
http://www.accu.org/bookreviews/public/reviews/0hr/index.htm
-- "Highly Recommended" works, indexed by subject.
http://www.accu.org/bookreviews/public/
-- ACCU reviews index
I think I will start with C first, as I am
familar with it, and general programming practice, then when/if I do some
gui work, start on C++.

Don't try to use C as a stepping-stone to C++. It won't work. Good C++
progams are not good C programs, and vice-versa.

In fact, don't think of C++ as a descendent of C. Think of it more like
a distant cousin or nephew. It's changed so much from when it was built
on top of C, to the point where a conformant C program is no longer
guaranteed to compile, or work correctly when compiled, in a C++
environment.
 
D

donLouis

I decided to get a cheap one off ebay, and I got "Practical C++ Programming"
by O'reilly for £6, I am looking for the K&R one and the "Practical C
Programming" by O'reilly too. I think I will start with C first, as I am
familar with it, and general programming practice, then when/if I do some
gui work, start on C++.

You don't have to do GUI work in C++. X, GTK, motif, etc, are all done
in C. As far as books go:

"The Standard C Library" by P.J. Plauger
K&R _second_edition_
"The C Answer Book" by Tondo & Gimpel
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html by Steve Summit

/*OT
* "The UNIX Programming Environment" by Kernighan & Pike
* "Software Tools" by Kernighan & Plauger
* "Programming Perls" & "More Programming Perls" by Jon Bentley
* Any and everything that W. Richard Stevens ever wrote
OT*/
 
G

G.

August Derleth said:
"Practical C Programming" might not be a wise buy, actually. Same with
"Practical C++ Programming". Neither got good reviews by the ACCU
(Association of C and C++ Users), which is generally held in high regard.

http://www.accu.org/cgi-bin/accu/rvout.cgi?from=0ti_p&file=p001735a
-- Review of "Practical C Programming"
http://www.accu.org/cgi-bin/accu/rvout.cgi?from=0ti_p&file=p001010a
-- Review of "Practical C++ Programming"
Both got a "Not Recommended" rating.
http://www.accu.org/bookreviews/public/reviews/0hr/index.htm
-- "Highly Recommended" works, indexed by subject.
http://www.accu.org/bookreviews/public/
-- ACCU reviews index


Don't try to use C as a stepping-stone to C++. It won't work. Good C++
progams are not good C programs, and vice-versa.

In fact, don't think of C++ as a descendent of C. Think of it more like
a distant cousin or nephew. It's changed so much from when it was built
on top of C, to the point where a conformant C program is no longer
guaranteed to compile, or work correctly when compiled, in a C++
environment.


I have read over the accu site and it sounds like the C++ is rubbish. I have
bid on the K&R one, as everyone recommends that. Well that other C++ was a
waste of money. I will also stick with C just now as that's what I kind of
know.

Thanks,

Gavin.
 
M

Manish Singh

G. said:
Hi all,

During my degree, BEng (Hons) Electronics and Communications Engineering, we
did C programming every year, but I never kept it up, as I had no interest
and didn't see the point. But now I really want to get back into it as I see
a point with GNU/Linux. I want to get my old skills back and write something
or help on some projects etc.

I need some good books. I used to have one called "A Book On C", but sold
it,
and I have been reading various tutorials on the web and the many devoted
websites.

Anyone have any recommendations?

"A Book on C" is a very good primer on C. Selling it was definitely a bad
decision. Look forward to get it back again.

Other books of interest are:
1> C Primer Plus, 4th edition - Stephen Prata. Sams
2> C : How to Program, 3rd or 4th edition - Deitel & Deitel
3> The C Programming Language, ANSI C 2nd edition - K&R
4> C Traps and Pitfalls - Andrew Koenig
5> Practice of Programming - Kernighan & Pike
6> Code Complete - Steve McConnell, Microsoft Press
7> Applications Programming in ANSI C, 3rd ed. - Johnsonbaugh & Kalin
8> C Programming FAQs - Steve Summit
9> C Unleashed - Richard Heathfield et al. (level: advanced)
10> How to Solve it by Computer
11> The Standard C Library - Plauger
12> C : A Reference Manual - Harbison & Steele, 5th ed.
13> Expert C Programming : Deep C Secters - Peter van der Linden
14> The Art Of Computer Programming, 3 volumes - Knuth
15> C Interfaces and Implementations : Techniques for Creating Reusable
Software - David Hanson ( Haven't read it myself, yet)
16> Algorithms in C, part 1-5 - Sedgewick
17> Inner Loops - Rick Booth
18> Programming Pearls, 2nd ed. - John Bentley
19> The C Puzzle Book - Feuer (haven't read it either)
20> Data Structures Using C - Tanenbaum, Langsam

It's always possible to get more books than you can read.
However, almost all of the above mentioned ones are, IMHO, classics.
If you'll be using UNIX/Linux as your development platorm, you should also
consider getting a few of these books:

1> Advanced Programming in UNIX Environment - Richard Stevens
2> UNIX Network Programming, 2nd ed. vol-1,2 - Richard Stevens
3> TCP/IP Illustrated, vol-1,2,3 - Richard Stevens
4> The UNIX Programming Environment - Kernighan & Pike
5> The Art of UNIX Programming - Eric S. Raymond
6> Linux Kernel Internals - Beck, et al.

Plus, books on Tcl/Tk, Perl, Python, GCC and Linux API are added advantage.
One more question, should I go for C or C++? Which will benefit me more with
GNU/Linux?

It's good for you to start with C. UNIX and Linux are mostly C based operating
systems, except some C++ code in X clients like KDE. However, it's considered
bad to stick to any one programming language. To get the most from UNIX or
Linux systems, you'll have to learn to work with a plethora of utilities,
shells, scripting languages, interpreters and compiled languages.

A very happy new year to all of you!
Regards,
Manish
 
M

Michael Steve

G. said:
Hi all,

During my degree, BEng (Hons) Electronics and Communications Engineering, we
did C programming every year, but I never kept it up, as I had no interest
and didn't see the point. But now I really want to get back into it as I see
a point with GNU/Linux. I want to get my old skills back and write something
or help on some projects etc.

I need some good books. I used to have one called "A Book On C", but sold
it,
and I have been reading various tutorials on the web and the many devoted
websites.

Anyone have any recommendations?

One more question, should I go for C or C++? Which will benefit me more with
GNU/Linux?

Thanks for your time,

- --
Regards

http://www.magicfx.co.uk
http://www.suretecsystems.com

I keep in my arsenal of C books a very good reference text. It won't teach
you good programming skills, but it will have information handy when you
have a good C question. Its organzation of information is very good.

Harbison, Samuel P., and Guy L. Steele Jr. 'C A reference Manual'. 4th Ed.
New Jersey: Prentice Hall, 1995.

Michael Steve
 
R

Rod

Hello there, being a newbie to C and the forum, I've been reading these post
and have another suggestion for you.
I am currently on my 2nd year Meng and learning the dreaded C/C++.
I have some of the books noted and all have been very useful, but here is
another suggestion that I came across last year, it comes in the from of
training videos from http://www.vtc.com/uk.php
The C programming vids are extremely useful, don't rate the C++ though.
With full working programs and exercises as well as a course project to work
through it has helped me out when stuck.
Only problem is the price!!!!
 
B

Ben Pfaff

Rod said:
I am currently on my 2nd year Meng and learning the dreaded C/C++.

Really? You'll have to let the rest of us know where we can find
out more about this language.
 
T

tinybyte

6> Linux Kernel Internals - Beck, et al.

This is outdated! Instead get both this two:
1) Understanding the Linux Kernel, 2nd Ed.
by Cesati, Bovet - O'Reilly
2) IA-64 Linux Kernel: Design and Implementation
by mosberger, eranian - Prentice Hall

Then you should read Kernel Traffic at http://kt.zork.net
and if you're a beginner at kernel hacking subscribe to
http://www.kernelnewbies.org mailing list.

Then if you need more, ask elsewhere because this is
off-topic here! :) try on alt.os.development or comp.unix.internals.

Bye
Daniele
 
A

Anand

Hi


Seen ur qurey. Hope u need sound understanding in c programming. If
u r interested to improve ur knowledge in c follow this book. "C with
software Engineering Approach" by Peter A Darnel.

Cheers!

Anand.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Good book 34
a good C book 21
Is this a good way to learn programming? 2
C++, a good starting language? 36
Good C book 3
C programming in 2011 148
ADV: Book: The Bible Explained 2
good books for practising C programmer? 2

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,565
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top