Sunday, April 5, 2009

Review of "Programming Principles and Practice"

This is a review of the book “Programming Principles and Practice Using C++” by Bjarne Stroustrup.


This book is one of the best general programming books that I’ve ever come across. It is a fast paced book whose contents are at the same time both fulfilling and informative. Programming Principles and Practice is a complete introduction to the theory behind programming, not just language features.

Written by the inventor of C++, Programming Principles and Practice is not what you expect. I anticipated a large amount of the text to be dedicated to justifying design decisions made when C++ was created, and counter arguments to some of the more pervasive criticisms. Instead, I found a deft sidestep: Stroustrup simple admits that C++ isn’t perfect, and moves on.

The author’s design of the book is not to teach C++, it is to teach students the theory about how to be a good programmer (and, by extension, a good computer scientist).  Stroustrup spends much of the text discussing abstract notions like program design, applications of programming, and testing principles. He uses C++ simply as a way of putting these principles into practice, and not as the main focus of the book.

As a seasoned (student) programmer, I found this book to be delightfully refreshing. Most introductory programming books spend too much time on syntax (‘teach yourself in 24 hours’ types are a prime example) and too little about why they designed their sample programs the way that they did. In contrast, Stroustrup acknowledges what many of his peers do not: the novice programmer can quickly (and quite easily) look up implementation details online. It is more difficult to apply that same solution to the theory, so that’s what Stroustrup focuses on.

Despite being a theory text, Programming Principles and Practice is not like a typical scientific or scholarly textbook. The author uses a friendly tone (the use of ‘we’ through the text), and simple and concise explanations.

All in all, Programming Principles and Practice by Bjarne Stroustrup is an excellent addition to the library of any future computer scientist.

Cheers,

Cody

3 comments:

  1. Hi
    I am student and I went get this book.
    please guide me.
    thanks.

    ReplyDelete
  2. Title | Programming: Principles and Practice Using C++

    Author | Bjarne Stroustrup

    Publisher | Addison-Wesley

    ISBN | 0321543726

    ReplyDelete
  3. Hello! I write from Russia.

    Forgive my English.
    I have a Russian edition of your book. Found a typographical error:
    as elim_partial_pivot (Matrix A, Vector&b):

    it is printed:

    if (abs (A (k, j))> abs (A (pivot_row, j))) pivot_row=j;

    instead of:

    if (abs (A (k, j))> abs (A (pivot_row, j))) pivot_row=k;

    Unfortunately I have no possibility to check an English-speaking copy. I hope this typographical error it is allowed only in the Russian-speaking edition.

    ReplyDelete