“Thinking in C++, Section Edition, Volume One” (ISBN:978-0139798092) was written by Bruce Eckel. The book is quite large coming in around 800 pages and focus on making the transition from C to C++, and focusing on practical programming. I believe the book could be much shorter if Bruce had a lot less repetitive, and long winded sort of writing. Bruce’s writing style does not really equate well with using the book for future reference later: thankfully, I don’t anticipate using C++ much as I focus almost entirely on creating and designing web sites.
The typography and presentation of the book need significant work: the font selection and size are annoying and incredibly difficult to read for long periods of time. The printer should have used a smaller size font and reduced the size of the headings slightly as well to decrease the number of pages, and to allow easier reading. The quality of the binding of my paperback edition of the book is absolutely terrible: the cover barely survived 1/2 a day of travel in my briefcase.
Each chapter ends with a lot of different exercises: unfortunately, the author does not include the exercises for free. “Thinking in C++, Volume 1 Solution Guide” must be purchased to see the answers to only some of the exercises. Exercises generally aren’t too bad, or too complex, but for the most part there’s always two or three that could almost be copied directly from the text.
Bruce covers a wide selection of C++, but doesn’t really cover the C++ Standard Template Library until another volume which of course must be purchased separately. I really believe that I learned more about object oriented programming from his introductory text than I have practicing OOP for the last three years: I really feel more confident about when to use composition vs inheritance. I was extremely disappointed to not see a mention of lint or any of the other automated testing and syntax sort of checkers; Bruce covered the compiler and how it generates assembler pretty well, so I would have liked to have seen a little bit about using lint or other software to check for memory leaks.
Bruce’s order of some of the topics should really be reconsidered as I often found myself flipping forward to read more about something especially in Chapter 15 there was a lot of flipping to read about something in Chapter 16. I find the forward references to be extremely frustrating and sometimes this can make studying more difficult.
Over all, I think Bruce has written perhaps one of the best textbooks I have ever used and has some issues with printing, his writing style, and making his text more reference friendly. I hate to say it, but I think that sometimes a box with important things that should be remembered or some tips is something that could be used to make referencing more friendly. (Dietel and Dietel produce many textbooks that make good use of boxes for emphasizing or summarizing something important.)