Jolt Awards: The Best Books, September 23, 2014 The best books of the past 12 months.
Jolt Productivity Award: Programming: Principles and Practice Using C++, 2nd Edition
by Bjarne Stroustrup
Bjarne Stroustrup, the inventor of C++, is a prolific author. His definitive handbook to C++ weighs in at more than 1300 pages. This volume, which is an explanation of programming in a native language, also tips the page count past 1300. Fortunately, Stroustrup's style is neither excessively academic or dry, and his explanations are clear and well thought through.
Those traits notwithstanding, who will read so much material? The primary audience for this book is, I think, undergraduate engineering students especially those who have grown up in a world where computers are ubiquitous, powerful, and abstracted from their underlying hardware and who have never known a world without Java, protected memory, and graphical user interfaces. Stroustrup's approach, which he describes as "depth-first, concrete-first, and concept-based," may not be the right approach for people whose ambitions end with scripting and task automation or for those few students who actually want to study computer science (for whom I think an argument can be made for a mathematical approach), but it is a good choice for students who want to become programmers or who want to work in technical fields.
The book is primarily a programming volume using C++ as the example language, rather than a book on the language itself. Dr. Dobb's readers don't, of course, need to be coached through "Hello, World!" and C or C++ are likely to be, if not their day-to-day language, part of their arsenal.
But for many of us, the C++ with which we are most familiar is, if not obsolete, at least antiquated. C++11 and C++14 have essentially rebooted the language and I, for one, found useful material in even the earlier chapters that explained the new features in basic, straightforward, and easy-to-assimilate language. The later chapters and appendices also presented entire swaths of the standard library with which I was unfamiliar.
A book that is primarily an undergraduate text is an unlikely candidate for a Jolt Award, but the depth and clarity of Programming: Principles and Practice Using C++, 2nd Edition and the explanation of the newest features of the language make this a very appealing volume.