This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hi. Do you know any good book for learning the "C Programming Language"? I found "C Programming Language (2nd Edition) (Prentice Hall Software)", but it seems to me to be a reference more than a learning book. Thanks.
C is one of the most used programming languages in the world, so there are thousands of books on programming in C. Amazon lists 4,337 books on C and C++, however most of them seem to be reference manuals.
Any Linux installation should have everything you need already installed.
Kernighan and Ritchie's "The C Programming Language" is a wonderfully readable book; not exactly a tutorial, but far more than a reference. IMO it's the only book you actually need for that language. It's the one I used, many many years ago (actually I used the first edition!)
But as it says above there are thousands of others to choose from.
Originally posted by John Todd: Hi. Do you know any good book for learning the "C Programming Language"? I found "C Programming Language (2nd Edition) (Prentice Hall Software)", but it seems to me to be a reference more than a learning book. Thanks.
If K&R2 was too heavy to start off, consider one of the following two books:
C Programming: A Modern Approach, K.N.King, W.W.Norton & Company, 1996. ISBN 0-393-96945-2
C: How to Program, 5th Ed. Deitel, H.M. & Deitel, P.J. Prentice Hall, 2007. ISBN: 0-13-240416-8
One of the banes of C is that, it allows you to make mistakes and may or may not complain about it during runtime. This is known as "undefined behaviour". For this reason, it is important that you learn C from a good resource. Those that can be found on the net are generally not peer-reviewed, and their quality is often questionable.
good luck, - Anand
"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." -- Antoine de Saint-Exupery
This merits a different thread (not related to books for learning C any longer).
First, howsoever similar they may be syntactically, C and C++ are different programming languages. The Gnu Compiler Collection (GCC) provides front-ends for different languages, C and C++ being two of them. Use g++ for compiling C++ and gcc for compiling C.
The C language standard was revised/updated in 1999 with new features. My bet is that both c89-gcc and c99-gcc call gcc under the hood, but (either explicitly or implicitly) making sure that the code being compiled strictly makes use of only those features of one particular language specification.
Like advised earlier, for compiling C programs, just call gcc.
Try Ivor Horton to start off with, if you want a well done beginners book that does not short the deeper issues. Any of the dummies books from any local library are a soft landing on the first issues. Next up would be an O'Reilly book, which one being evident from the title. I have found Chapman & Hall to be ideal for field techs. I tried things like K&R and gcc, but gave up on that approach as being mired in historical battles and deeply technical arcade ~ Java being the sensible route out of those issues.
Cay S. Horstmann has a paticularly good intro: Computing Concepts with C++ Essentials, and as well being a Java imprint cover author. You could start with Hello world in gcc using K & R - let us know which approach works for you.