John doesn’t exactly review a book.
“Another d-mn’d thick, square book! Always, scribble, scribble, scribble! Eh! Mr. Gibbon?”—variously attributed, possibly Prince William Henry, Duke of Gloucester and Edinburgh.
Ask any ten programmers what the most perfect programming book is, the definitive definition of a language, and you’ll probably get ten identical answers: It’s K&R.
The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie is the gold standard. What you always hear is that it did exactly what it needed to do and did it in a mere 228 pages.
The latest edition of Bjarne Stroustrup’s The C++ Programming Language weighs in at 1346 pages. Six times as fat. Approximating a cube.
So the logical conclusion is that C++ is six times the language that the original C was. Could that possibly be true?
Well, it’s multiparadigmatic by design. So there’s that.
And then apparently the template metaprogramming syntax of C++ is Turing Complete. Just like Magic the Gathering or the type system in Scala or HTML plus CSS or certain novels by Jorge Luis Borges or Conway’s Game of Life or Unix sed or the Federal tax code. So just a part of C++ is equivalent to C. So there’s that.
Let’s say it’s at least plausible that C++ is in fact C*6.
But when does more become too much? For a language or for a book? For a book, is it somewhere shy of 1346 pages?
“A call to delete, which calls the destructor and returns the memory allocated by new back to free store, must be made for every call to new to avoid a memory leak.”
I think Bjarne has been making a lot of calls to new and forgetting to delete.
I want my memory back.
John Shade was born under a cloud in Montreux, Switzerland, in 1962. Subsequent internment in a series of obscure institutions of ostensibly higher learning did nothing to brighten his outlook. His hobbies are complaining and garbage collection. You should see his collection. Follow John on Twitter, send him your feedback, or discuss the article in the magazine forum.