Channels ▼

Jolt Awards: The Best Books

, September 23, 2014 The best books of the past 12 months.
  • E-mail
  • Print

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.

— Larry O'Brien

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.