• C

Intermediate C/Systems programming book

I've finished the book 'C- a software engineering approach" which I thought was a great book for getting started and I'm going to buy a second book on C if there's a good one anyone can recommend.
   I was thinking of C how to program 3rd ed(covers OO,java and C++ also but 600pages on these and I don't need an OO book), and the reviews at amazon seem to slate it saying it doesn't detail enough on C and nothing on socket programming etc.

Would The K&R book The C programming language be better or does it just cover the same stuff as 'software engineering app.'?
Would I be better just getting a book like Unix Network Programming by Richard Stevens or some other unix/linux book that covers libraries?

Thanks for any ideas.
Who is Participating?
timbauerConnect With a Mentor Commented:
Stevens books,
Unix Network Programming
Advanced Programming in the UNIX Environment

are both superb books. Stevens is a adept and venerable author.
"Advanced Programming in the UNIX Environment" is often considered
the "bible" of systems programming. It focuses on C programming on
Unix systems. Less software engineering and more systems interaction.
However, there is a full code for a Unix database and full code for
other fun goodies.

K & R is more of a reference book (in my opinion). It is well written too
and handy to have around. It can be a light read though if you know C.
The first chapters are mostly language definition with excellent examples.
The latter chapters discuss funner topics, such as how malloc could be implemented.

If you are used to C now you can handle anything called "Advanced".

If you like systems stuff I would agree with you about avoiding OO topics.
Those are mostly gimmick's that translate back into C'ish ideas.
Not to say they are bad. They are indeed useful, just not as much system fun.

U can try:

Expert C Programming by Peter Van Der Linden

But if want to learn Network programming,Richard Stevens is the best
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.