The creator of the C++ programming language brings us a new textbook in programming principles that could well become a classic tome. For anyone with a modicum of programming experience, the name Bjarne Stroustrup should be familiar. He developed the C++ programming language way back in the late 1970s/early 1980s. He is also author of the classic C++ tome The C++ programming language. With such a pedigree you would expect his new book, on the principles and practices of programming, to be more focussed on doing things the C++ way and it is. However, this works in the book’s favour.
The book is a fair-size doorstop at just under 1300 pages, but the layout is clear and easy to follow. The writing style is familiar yet informative and was reminiscent of the better tutors I have encountered in my own education (albeit some time ago now). Briefly put, it made learning the subject interesting and mad me want to keep reading.
Beginning with the classic “hello world!” program, each chapter of the book includes well laid-out instruction and description of the principles at hand along with practical exercises and tests. The book not only covers practical topics such as objects and classes but also looks at principles such as considerations to be made before putting hand to keyboard. The structure is reasonably non-standard, with chapters on input/output coming later in the book than would normally be expected but in the context of programming principles rather than teaching a language this works.
Who’s this book for?
The book describes itself as aiming at students of programming and has been tested as a textbook in such an environment. Obviously I could not test it in that environment, but I think it would be a useful addition to any computer science student’s library. As a coder experienced in a few languages but — for some reason — never really including C++, I found the book one of the better programming books I have read.
Relevance to free software
C++ is a language used in a great many free software products, but this book is not really about learning the language. With its focus on good practice and the principles of coding, this book teaches some invaluable lessons to those writing free software. It may not deal with all the issues involved — such a collaborative working — but in terms of writing good code it could prove to be a key tome.
Well laid out, useful structure and keeps its focus on practices and principles throughout. Particularly suited to those at the early stages of their coding life.
Perhaps not best suited at seasoned coders who are a little set in their ways but to be honest I doubt that audience would be browsing for such a book anyway.