Book Review: Programming: Principles and Practice Using C++" by Bjarne Stroustrup
Breathing new life into a classic subject
Download the whole article as PDF
Short URL: http://fsmsh.com/3098
- 2009-07-22
- Published on web | Easy
-
Write a full post in response to this!
This content was sponsored by:
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.
I have to admit that when I first picked this book up, I expected it to be perhaps more akin to “Practices of programming with C++” than the promised focus on programming with the language being secondary but Stroustrup pulls off his promise admirably. Concentrating on one language, and one which the author knows so well, frees the reader from wading through the differences of language syntax and helps them concentrate on the principles and good practice being demonstrated. When you also consider that this book is aimed at students of programming, and is designed and tested as a textbook to accompany their studies, you get a better idea of why this approach works so well for this book.
This book teaches good programming in a way which I have rarely seen in other books
Programming is a creative art; as it is an art form designed to be read by other artists/coders (particularly in the context of free software), it is important that such creation follows uniform practices and principles. This book not only teaches good programming, but does so in a way which I have rarely seen in other books aimed at those early on in their programming career.
The contents
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.
Pros
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.
Cons
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.
| Book |
|---|
| Title | Programming: Principles and Practice Using C++ |
| Author | Bjarne Stroustrup |
| Publisher | Addison-Wesley |
| ISBN | 0321543726 |
| Year | 2008 |
| Pages | 1272 |
| CD included | No |
| FS Oriented | 4 |
| Overall score | 8 |
In short
A well written and conceived programming textbook which could well become a classic for programming students.
Write a full post in response to this!
Similar articles
Do you like this post?
Vote for it!
Copyright information
Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved.
Biography
Ryan Cartwright: Ryan Cartwright heads up Equitas IT Solutions who offer fair, quality and free software based solutions to the voluntary and community (non-profit) and SME sectors in the UK. He is a long-term free software user, developer and advocate. You can find him on Twitter and Identi.ca.
- Login or register to post comments
- 9340 reads
- Printer friendly version (unavailable!)




Best voted contents
-
Special 301: FOSS users. Now we're all Communists and Criminals
Gary Richmond, 2010-03-05 -
Microsoft's Internet Driving Licence: stupid, unworkable and unenforceable
Gary Richmond, 2010-03-10 -
The Bizarre Cathedral - 69
Ryan Cartwright, 2010-03-12 -
Interview: Nina Paley (author of "Sita Sings the Blues" and the two "Minute Meme" animations)
Terry Hancock, 2010-03-15
Buzz authors
Free Software news
- #ubuntu #linux Countdown Banners For ##Ubuntu 10.04 http://goo.gl/fb/C2lu #freesoftware #livecd #personcareer
- RD: @schestowitz: #FreeSoftware Dominates 90% of World's Biggest Servers http://ur1.ca/q2d6 #linux
- #FreeSoftware Dominates 90% of World's Biggest Servers http://ur1.ca/q2d6 #linux
- Neben mir sitzt ein #maemo-Entwickler. Ob ich mir mal sein #n900 zum testen ausleihen soll? #meego #nokia #freesoftware
- RT @lifehacker Create Polished Mind Maps at Bubbl.us - Mind map - Lifehacker http://is.gd/aKynI #brainstorming #freesoftware
Similar entries
Other sites
- The Top 10 Everything (Dave). The good, the bad and the ugly.
- Free Software news (Dave & Bridget). All about free software -- free as in freedom!
- Book Reviews: Illiterarty (Bridget). Book reviews, blogs, and short stories.
Hot topics - last 60 days
-
Linux performance: is Linux becoming just too slow and bloated?
Mitch Meyran, 2010-01-26 -
Web code is already open - why not make it free as well
Ryan Cartwright, 2010-01-20 -
Save "Sita Sings the Blues" from the Flash format: can you convert FLA?
Terry Hancock, 2010-01-29 -
Microsoft's Internet Driving Licence: stupid, unworkable and unenforceable
Gary Richmond, 2010-03-10 -
Special 301: FOSS users. Now we're all Communists and Criminals
Gary Richmond, 2010-03-05
Hot topics - last 21 days
-
Microsoft's Internet Driving Licence: stupid, unworkable and unenforceable
Gary Richmond, 2010-03-10 -
Special 301: FOSS users. Now we're all Communists and Criminals
Gary Richmond, 2010-03-05 -
The Bizarre Cathedral - 69
Ryan Cartwright, 2010-03-12 -
Interview: Nina Paley (author of "Sita Sings the Blues" and the two "Minute Meme" animations)
Terry Hancock, 2010-03-15
Odiogo
Free Software Magazine uses Apollo, project management and CRM for its everyday activities!

