Thread: Books on C and C++

  1. #1
    Lead Moderator kermi3's Avatar
    Join Date
    Aug 1998
    Posts
    2,595

    Books on C and C++

    Recently especially there have been many people asking about "what book they should get?" I know many people are getting tired of answering this. The site does have a section of book reviews, but it is fairly old. Much like tutorials, if anyone is intrested in writing book review(s) please let me know (via PM) and feel free to do so.

    I'm sure we can arrange to post that on the Book Reviews section of the site. (Did you know there was a part to this site other than the boards???? ). The writer will of course get full credit for any review they write.


    Since most new users and new people to C/C++ look over the main site first, hopefully it will decrease the frequency this question is asked.
    Kermi3

    If you're new to the boards, welcome and reading this will help you get started.
    Information on code tags may be found here

    - Sandlot is the highest form of sport.

  2. #2
    Just because ygfperson's Avatar
    Join Date
    Jan 2002
    Posts
    2,490
    Did you know there was a part to this site other than the boards????
    i know that was intended as sarcasm... but i feel the site needs to be updated more frequently, and with newer content. i like the idea of the book reviews, though. i'm sure flashdaddee has a few archived in its books forum.

  3. #3
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >Did you know there was a part to this site other than the boards????
    I don't believe it! Can you prove such an outrageous claim?

    >if anyone is intrested in writing book review(s)
    These aren't quite reviews, just titles and comments, nor is the list complete by any stretch of the imagination, but I had them handy so be happy.

    The C++ Programming Language
    This book remains at the top of the list of C++ texts. It describes C++ in exquisite detail and is thorough on every point. Accuracy is to be expected from this author as he is the creator of the language. This is not an introductory text, it is difficult to read for anyone not already well versed in some form of programming. If a beginner's book is what you want then you should look elsewhere. If, however, you want a book that you can pick up to answer just about any question, then this is the book you want.

    Accelerated C++
    A perfect example that size does not matter. This is by far the best introductory book to C++ that I have seen. The authors present the language as it should be used in a clear and lucid manner, and stress use of the standard libraries from the first pages. A reader should be able to write useful and non-trivial programs shortly after picking this book up and working through some of the first chapters. The book is laid out so that it does not go over features of C++, but instead uses the language to solve problems immediately and then describes the problems and solutions in detail. This book comes highly recommended.

    C & C++ Code Capsules
    This is a wonderful book by an experienced author. While there are a few potential gotchas in his example programs, they are otherwise solid and quite standard. This is a good book to familiarize yourself with both the C and C++ standard libraries as well as the nuances of each language.

    Algorithms in C++
    Once you are familiar with the basics of programming, time should be spent learning bout data structures and algorithms. Now, the very best book/s on the subject are usually considered too advanced for beginning programmers, so you should move one step down. This is where Algorithms in C++ comes in. The author was a student of Donald Knuth, the author of the best book/s mentioned above and manages to explain these advanced topics in an easy to follow manner. Note that this book is not a one time read, you must go through it several times to absorb all of what it has to offer.

    The C Programming Language
    This is the bible for C, often you can refer to it instead of the ISO C Standard for many of your problems. It is not just valuable to C programmers either, the topics introduced are valid enough for C++ that a C++ programmer would gain valuable insight into the lower level aspects of C++.

    The Standard C Library
    Once you are familiar with the basics of programming in C or C++, this would be a good book to refine your knowledge of the standard libraries for C. Learning the details of how to use these functions is enough to buy this book, but the author goes on to implement all of them. Such an opportunity to glance into the details of the standard library as well as learn from over 9000 lines of high quality source from a respected programmer doesn't come along often. Take advantage of it.

    STL Tutorial and Reference Guide
    This is an excellent text on the C++ Standard Template Library, written by one of the designers. The book is divided into three parts, the first being a tutorial on each part of the STL in detail. The second part uses the STL for nontrivial problem solving, very useful for those of us who don't write trivial programs for a living. The last part is the most useful, the reference guide. I have very little to question with this book, it should be a permanent resident in your library if you use C++.

    C Unleashed
    Once you have the basics of C syntax down and consider yourself an intermediate level programmer, this book should be first on your list of further study. The text is broken in to three parts: Part 1, The C Language Revisited, which covers many of the common usage for C including style, common errors, optimization, working with files, and recursion. Part 2, Data Organization, concentrates on data structures such as linked lists, binary trees, graphs, and sorting methods. Part 3, Advanced Topics, covers many of the more difficult aspects of C usage such as parsing, matrix arithmetic, digital signal processing, arbitrary precision arithmetic, and genetic algorithms. All in all this book rates very highly for me and is always in reaching distance from my desk.

    Expert C Programming: Deep C Secrets
    This is by far the most fun of my books to read, the author is an excellent writer with a whimsical and humorous style. The topics discussed range from C history to hardware aspects of programming, to stylistic issues, and a chapter introducing C++. There is also a chapter describing programmer interviews and some of the questions that get asked. If you want to get a book that can be dipped into at the odd spare moment which will probably teach you something and is fun to read, this is the one you should get. There are very few programmers I know who would not benefit from reading Expert C Programming several times.

    The Practice of Programming
    I won't bother to describe how good this book is, get it and thank me later.

    C Programming FAQs
    An excellent find which shows many of the more common problems and questions asked on the comp.lang.c newsgroup along with the expert answers to them. There is an online version but it is shorter and cannot be carried around at work easily. I recommend this book highly since the advice it offers is wonderful.

    Pointers on C
    Pointers on C is the finest introductory book to C that I have seen. If you have little or no programming knowledge and want to learn C, this is the book to get. The author is very knowledgeable and thorough, and lacks many if not all of the bad habits exhibited by most authors.

    Algorithms for Programmers
    With good explanations and for the most part high quality source code examples, this book is something that beginning to intermediate programmers would benefit from reading. If Algorithms in C (C++) or Knuth are too stuffy and difficult to follow because of the mathematical formulae, consider reading Algorithms for Programmers instead, I guarantee that it will be easier to follow (if somewhat less useful).

    -Prelude
    My best code is written with the delete key.

  4. #4
    Lead Moderator kermi3's Avatar
    Join Date
    Aug 1998
    Posts
    2,595
    Thanks Prelude, that's a great start...I'll make sure the webmaster looks at them and adds some, if not all of them.
    Kermi3

    If you're new to the boards, welcome and reading this will help you get started.
    Information on code tags may be found here

    - Sandlot is the highest form of sport.

  5. #5
    Christian
    Join Date
    Mar 2002
    Posts
    612
    For windows Programming

    Programming Windows 5th edtion - think of it as the bible for windows programming.
    I shall call egypt the harmless dragon

    -Isaiah 30.7

  6. #6
    Banned Troll_King's Avatar
    Join Date
    Oct 2001
    Posts
    1,784
    There are a couple good books that were totally missed. Believe me, I know about books. I have more books than a library.

    1) C++ Primer 3rd edition. (The best C++ book)
    2) Design Patterns
    3) Genric Programming And The STL (note: The C++ Programming Language is referred to as a beginner text by this author).
    4) Object Oriented Design Heuristics
    5) Effective C++

  7. #7
    Lead Moderator kermi3's Avatar
    Join Date
    Aug 1998
    Posts
    2,595
    Thanks guys, by listing these books, are you going to write a review for them?
    Kermi3

    If you're new to the boards, welcome and reading this will help you get started.
    Information on code tags may be found here

    - Sandlot is the highest form of sport.

  8. #8
    Lead Moderator kermi3's Avatar
    Join Date
    Aug 1998
    Posts
    2,595
    Anyone else? More the merrier.

    Prelude I've sent yours to teh webmaster.

    (Oh and this is a bump heh...sry, but mod privilage on site buisness)


    Kermi3
    Kermi3

    If you're new to the boards, welcome and reading this will help you get started.
    Information on code tags may be found here

    - Sandlot is the highest form of sport.

  9. #9
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    the dummy series is very under rated. I'd be happy to write a review for it tommorow, got a date 2day.

  10. #10
    Lead Moderator kermi3's Avatar
    Join Date
    Aug 1998
    Posts
    2,595
    Great thanks. It'll be muct appreciated.
    Kermi3

    If you're new to the boards, welcome and reading this will help you get started.
    Information on code tags may be found here

    - Sandlot is the highest form of sport.

  11. #11
    Registered User The Dog's Avatar
    Join Date
    May 2002
    Location
    Cape Town
    Posts
    788
    Here's a link to a few reviews on C++ books :
    http://extra.codeguru.com/default.asp

  12. #12
    Lead Moderator kermi3's Avatar
    Join Date
    Aug 1998
    Posts
    2,595
    We cannot post those reviews on our site withour the author's permission. That's why we would like any of our memebers who have an opinion on a book to write one.
    Kermi3

    If you're new to the boards, welcome and reading this will help you get started.
    Information on code tags may be found here

    - Sandlot is the highest form of sport.

  13. #13
    ....
    Join Date
    Aug 2001
    Location
    Groningen (NL)
    Posts
    2,380
    A lot of books I've read are in Dutch, here are some "reviews" of those in English:

    [1] Algorithms in C
    Robert Sedgewick
    A nice and good book on algorithms. It treats a lot of algorithms and datastructures and it is quite formal. A very good choice when you're going to learn about algorithms.

    [2] Datastructures & program design in C
    Robert Kruse and others
    A good book which is about datastructures (lists, trees, graphs etc.) and algorithms on those datastructures. However, the algorithms given in the chapters about sorting and searching can be applied to several datastructures. In the first chapters, the subject of program design is treated. As the titles suggests, the used language is C. The book assumes basic knowledge of C, in the appendices a review of C is given. But especially where it comes to implementing the datastructures, a textbook on C would be very useful for those who start on C. The book is less formal than those of Knuth or Sedgewick, it is more concentrated on the concepts than on the underlying math. So if you don't like math very much, then this book is more suitable than [1].

    [3] The datacompression book
    Mark Nelson
    An excellent introductional book on datacompression. The algorithms are explained in a clear way and implemented in C. The book gives an introduction to the field of datacompression and discusses a large number of datacompression methods and families of methods. The later chapters, which discuss the methods, can be read seperate. This is a nice thing, since some methods require specific knowledge, for example digital signal processing when it comes to compression audio and pictures. The book assumes that you know the basics of datastructures and algorithms, so, for example, it doesn't explain what a tree is.

    [4] Design Patterns
    Erich Gamma and others
    A very good book on design patterns. It is most useful when you have already experience with designing and implementing object oriented designs.

    [5] Real-Time UML
    Bruce Powell Douglas
    A very nice written book. It gives a short introduction to UML and then shows how to apply the UML in the development of real-time systems. For that purpose it is very suitable, but it is less suitable to learn UML itself. It does not cover the OCL and only those elements of UML which are useful in developing real-time systems.

    [6] Haskell, the Craft of Functional Programming
    Simon Thompson
    This is not about C or C++, it even isn't about procedural or object oriented programming, but it is a really great book. If you're interested in functional programming, I strongly recommend this one.

    [7] Formal specification using Z
    David Lightfoot
    Another book, not about programming, but it treats a quit important subject: specification of software. This book teaches how to apply Z in formal specifications. It is not a very thick book, it treats Z, the underlying math and has a lot of examples which make it a very practical book.

    Here a link to a lot of good reviews, real reviews.

    http://www.accu.org/bookreviews/public/index.htm

  14. #14
    Skunkmeister Stoned_Coder's Avatar
    Join Date
    Aug 2001
    Posts
    2,572
    books no aspiring c++ programmer should be without.

    The c++ programming Language by Bjarne Stroustrup.
    This book contains reams of information on c++ but it already assumes somewhat that you are quite faniliar with the language. I have to say that I feel that bjarne could have done a little better, maybe i just dont like his style but whatever i wouldn't be without this book. This is the one to move onto when you have read Deitel and Deitel or Accelerated c++.

    Effective c++ by Scott Meyers
    I cannot rate this book highly enough. If you think you know c++ then read this book and find out what you really know. Reading this book will improve your understanding of c++ 200%. This is a style guide par excellence.

    More effective c++ by Scott Meyers
    Same as above. This one takes off from where effective c++ ended. Any comments that held for Effective c++ also hold strong for this one.

    Effective STL by Scott Meyers
    As above. This book fills in the few gaps in the next title. Same as scotts other books absolutely excellent.

    The c++ standard library a tutorial and reference by Nicolai Jossutis
    The best book on the STL. No question. This is even better than Matt Austerns work.The only real sparseness in this book is custom allocators.Want to learn the STL then read this one.

    Modern c++ design by Andrei Alexandrescu
    This is quite probably the single most innovative work ive ever read. Anyone who writes c++ for a living ought to have this on their bookshelf. the accompanying Loki library is awesome and may well be a feature of standard c++ at the next standard review. Take a look. Be amazed.

    Exceptional c++ by Herb Sutter
    An excellent work comprising 40 odd puzzles and answers. This guy gives a c++ masterclass in writing well designed weakly coupled exception safe code.

    More exceptional c++ by Herb Sutter
    Again this one takes off from where the previous one ended. These books really are awesome. The perfect accompanyment to Scott meyers effective works.
    Free the weed!! Class B to class C is not good enough!!
    And the FAQ is here :- http://faq.cprogramming.com/cgi-bin/smartfaq.cgi

  15. #15
    CS Author and Instructor
    Join Date
    Sep 2002
    Posts
    511

    Talking


    the dummy series is very under rated. I'd be happy to write a review for it tommorow, got a date 2day.
    I agree with this- but has some very bad coding decisions -like that dreaded

    Code:
       void main()
        {  }
    Which we all know now is not correct!!!
    Mr. C: Author and Instructor

Popular pages Recent additions subscribe to a feed