Here are the books on C that I would readily recommend:
- "The C Programming Language", Second Edition, by Brian Kernighan and Dennis Ritchie.
- "Expert C Programming - Deep C Secrets" by Peter van der Linden.
- "C Traps and Pitfalls" by Andrew Koenig.
Here are the books on C++ that I think should be useful:
- "The C++ Programming Language", Third Edition, by Bjarne Stroustrup.
- "Effective C++", Third Edition", by Scott Meyers.
- "Essential C++" by Stanley Lippman.
By the way, many people do not like "The C Programming Language" but I am one of those who just love this book. It is a short book that is always to the point and has examples that teach you a lot about computer programming techniques and style. I agree that you should already know a bit about computer programming to fully appreciate this book. It was the book that I used to learn C. I love all of Brian Kernighan's books in general. He is one of the very few authors who have actually imbibed the lessons from "The Elements of Style".
In India, we have a few books on C and C++ written by some Indian authors that are terrible in my opinion but that unfortunately have been mandated as text books in several colleges here. The result is that many of the graduates who have not been exposed to other books form extremely warped ideas about these programming languages and about things like pointers. Sad.
|
Tweet |
|
I would recommend "The Waite Group's C++ Primer Plus, Third Edition" by Stephen Prata (there's a Forth Edition as well, but I havn't read it).
ReplyDeleteIt's more of a book on good style object oriented programming with examples in C++ than a book on C++ , but it seems like that was what you asked about. The book is aimed at people with some experience of programming, but not experts, so it should fit your friend.
By far the best book I've ever read on programming, and even though I hardly program any C++ I have had lots of use of it.
The book on C++ I just loved -- almost as much as I loved the C programming language book -- when picking up the language was the 'Annotated C++ Reference manual' by Stroustrup and Ellis. It was a rare book, then, that went into a lot more of the 'why.'
ReplyDelete'Exceptional C++' is the other book I recall being pretty good.
I haven't read it, but 'Accelerated C++' by Andrew Koenig and Barbara E. Moo is apparently a very good introduction to C++, and I liked the authors' old CUJ column.
ReplyDeleteIf you're using the C++ standard library (not just STL), 'The C++ Standard Library: A Tutorial and Reference' by 'Nicolai Josuttis' is an excellent reference - I use it constantly.
Finally I'd back up your recommendation of Scott Meyers's 'Effective' books, I learned a lot from them.
A good source of book reviews for C and C++ is the ACCU site.
I would add 'Effective STL' to the list. The 'effective' series is great for people with short attention spans...Stroustroup belongs to another age
ReplyDeleteModern C++ Design by A Alexandrescu is interesting. Wouldn't recommend applying the techniques described in the book without careful consideration however it is an eye opener into the C++ template mechanism (which is turing complete) and can be used to get the compiler to perform computation.
ReplyDelete