Intermediate C/Systems programming book

Posted on 2004-04-04
Last Modified: 2010-04-15
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.
Question by:twobitadder
  • 2

Accepted Solution

timbauer earned 250 total points
ID: 10753824
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.


Expert Comment

ID: 10754843
U can try:

Expert C Programming by Peter Van Der Linden


Expert Comment

ID: 10754849
But if want to learn Network programming,Richard Stevens is the best

Featured Post

Does Powershell have you tied up in knots?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Problem with MFCApp 78 383
smtp c source code 7 69
Assigning default value to structure in C for mutithread application 17 66
What is atomic operation? 6 59
This tutorial is posted by Aaron Wojnowski, administrator at  To view more iPhone tutorials, visit This is a very simple tutorial on finding the user's current location easily. In this tutorial, you will learn ho…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode ( They will have you believe that Unicode requires you to use…
The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
The goal of this video is to provide viewers with basic examples to understand how to create, access, and change arrays in the C programming language.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question