Thread: C++ Book Recommendations

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    Books usually lag significantly behind the development of anything. Boost is moving at quite a rapid pace.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  2. #2
    Registered User
    Join Date
    Jan 2008
    Posts
    182
    I already know C, so I'm going to see first C++ Annotations (mentioned in the second page of this thread) since its free.

    But what book do you recommend for me? I want a book that gets to the advanced level, or that it mentions every detail of the language and does not leave anything behind.

  3. #3
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    I don't think there's such a book. C++ is huge and there are plenty of areas you can dig into. Meta programming is one, for example. Templates are a heavy area.
    Then there's inheritance and the like.
    I'd definitely recommend template meta programming though. It's very powerful and can do things C programmers could only dream of.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  4. #4
    Registered User
    Join Date
    Jan 2008
    Posts
    182
    OK well, guess I'll take a look at the annotations and then buy myself a reference book or something.

  5. #5
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    >> I want a book that gets to the advanced level, or that it mentions every detail of the language and does not leave anything behind.

    I'd recommend Accelerated C++ for you, since it is accelerated and teaches modern C++. If you want a book that goes deep into C++, The C++ Programming Language by Stroustrup is a great reference.

    Getting both would be best.

  6. #6
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Addison Wesley - C++ Primer, 4th Edition by Lippman, et al is one excellent choice for an in depth study of the C++ language following on traditional teaching techniques (e.g. from simple to more complicated).

    It is my main recommendation to anyone starting C++ because of the fact it covers the whole language and its facilities in much detail. It does this following current coding best practices while explaining those best practices, goes in a lot of detail, has an accessible language that appeals to the beginner and yet is concise and semantically correct.

    The book lacks a proper exercises mechanism. It is implemented, but is weak in my opinion. It doesn't provide answers to the exercises either. It could, in my opinion gather a few more pages around the issue of Templates and definitely, given the scope, should have had a more detailed text on the issue of compilers. The book also makes no effort in describing debugging best practices or even talk about the issue of debugging. This is however a prevalent issue around many programming books. And I always felt it to be a strong weakness of today's books, considering the ever increasing complexity of programming tasks.

    But all in all, I never found a better book for C++... and I'm a bookseller (really).
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  7. #7
    Registered User LowWaterMark's Avatar
    Join Date
    Aug 2008
    Posts
    12
    Matas, thanks for taking the time to reply. Actually, I am considering the book you suggested, mostly because of its author. I'm curious if in your opinion it is more of a reference than a teaching text. At over 1000 pages would a novice like myself be getting in over his head? I'm an academic so big books don't scare me (well, occasionally they do) but I fear becoming lost in the forest for the trees, so to speak.

  8. #8
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Quote Originally Posted by LowWaterMark View Post
    Matas, thanks for taking the time to reply. Actually, I am considering the book you suggested, mostly because of its author. I'm curious if in your opinion it is more of a reference than a teaching text. At over 1000 pages would a novice like myself be getting in over his head? I'm an academic so big books don't scare me (well, occasionally they do) but I fear becoming lost in the forest for the trees, so to speak.
    I think it is 1000 pages because it explains a lot of things. It is more of a reference than a teaching book, but it's not a "bad" type of reference book for the purpose of learning, if you see what I mean.

    The other C++ book I have is a "C++ for Programmers", which is intended to teach C++ to people who have a decent understanding of programming already. By the sounds of things, I'd say that you have SOME experience of programming, but it may not be sufficient to go for that sort of book [never mind that I couldn't find the book I've got in Amazon].

    Edit: I had to look it up, but Koenig & Moo's "Accelerated C++" is probably the best "beginners" book. That would be the book I'd recommend as a companion to Stroustrup.

    --
    Mats
    Last edited by matsp; 08-11-2008 at 04:02 AM.
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  9. #9
    Registered User
    Join Date
    Jul 2003
    Posts
    110
    Quote Originally Posted by matsp View Post
    I think it is 1000 pages because it explains a lot of things. It is more of a reference than a teaching book, but it's not a "bad" type of reference book for the purpose of learning, if you see what I mean.
    I guess I disagree. I think TC++PL is a heck of a teaching book, with a ton of great insight into concepts and philosophy. To be sure, it is a reference, but I think it is more of a textbook. Particularly the Special Edition with Appendix E on exception safety, which is gold IMO.

    I'd highly recommend it if you want to learn some "why" with the "what and how." A good companion would also be The Design and Evolution of C++.

    For my recommendation in general, I would say Standard C++ IOStreams and Locales by Langer and Kreft for advanced programmers.

  10. #10
    Registered User LowWaterMark's Avatar
    Join Date
    Aug 2008
    Posts
    12
    Cool. Again, thank you.

  11. #11
    Registered User LowWaterMark's Avatar
    Join Date
    Aug 2008
    Posts
    12
    Please, are there any other people with recommendations?

    Take care.

  12. #12
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Quote Originally Posted by LowWaterMark View Post
    Please, are there any other people with recommendations?

    Take care.
    Well, there is about 6 pages of book comments in this thread, so I expect those that have something to say on the subject already has done. Yes, new books come out, and sometimes people change their mind.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  13. #13
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    >> I'm in search of an introductory text on C++ Programming that approaches its task from a
    >> theoretical or philosophical perspective.

    I don't know any C++ books that specifically take this perspective. Amongst all books I think your choices are good.

  14. #14
    Registered User LowWaterMark's Avatar
    Join Date
    Aug 2008
    Posts
    12
    Daved, thank you for your reply.

  15. #15
    Hail to the king, baby. Akkernight's Avatar
    Join Date
    Oct 2008
    Location
    Faroe Islands
    Posts
    717
    Why can't someone make a way to learn C++ for those who hate to read? :P
    Currently research OpenGL

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Language REFERENCE book recommendations?
    By DougDbug in forum C++ Programming
    Replies: 5
    Last Post: 03-10-2011, 02:26 AM
  2. any book recommendations?
    By NewnOT in forum Windows Programming
    Replies: 1
    Last Post: 06-21-2009, 02:12 PM
  3. JavaScript book recommendations
    By neandrake in forum Tech Board
    Replies: 2
    Last Post: 04-05-2009, 12:27 PM
  4. C++ Book Editions and Recommendations
    By cpudaman in forum C++ Programming
    Replies: 7
    Last Post: 02-10-2008, 11:52 AM
  5. My book recommendations for rank beginners ...
    By snakum in forum C++ Programming
    Replies: 4
    Last Post: 08-21-2002, 10:38 AM