REVIEW - Learning to Program in C++


Title:

Learning to Program in C++

Author:

Steve Heller

ISBN:

Publisher:

Prentice Hall Ptr (2001)

Pages:

1056pp

Reviewer:

Francis Glassborow

Reviewed:

April 2001

Rating:

★☆☆☆☆


Five or six years ago Steve Heller wrote Who's Afraid of C++. The most significant aspect of that book was the email dialogue between the author and Susan Caffee (who married him in 1997). Susan was a complete computer novice, able to manage email but with no background in computer technology or programming. The result was a very interesting book because, for once, an author had taken the time to respond to the needs of a typical reader. Personally, I did not find it a great book on C++ but it certainly was a good book for the inquisitive newcomer to programming who wanted to understand programming and its rationale.

Unfortunately you can only write such a book once with any novice because you have thoroughly destroyed their novice status by successfully completing the book. If you also fall in love with and marry your collaborator they may then be reluctant to allow you to repeat the exercise with someone else. This means that all the email dialogues in this book come from the deep (in C++ terms) past. Unfortunately this also relates to much of the C++ content.

The pace of this book is slow but for the genuine novice to programming this is fine. However, the author's focus on the fundamentals colours much of his approach so that he is writing at too low an abstraction level for my comfort.

The first three words of the title are fine and if the C++ were de-emphasised I would be happier. However if you think that by any stretch of the imagination that this book will turn you into a C++ programmer you would be seriously mistaken. C++ is immensely more than this book shows, and immensely more supportive of the needs of inexperienced programmers who just want to learn to write a program without understanding a wealth of low-level detail. This is the main problem with this book; readers (especially those that really study what they read) will have a false view of C++ and an unrealistic perspective on the level of their knowledge and skills when they have finished.

By the way, this book must have one of the worst indexes in any technical book ever published. It looks as if someone took a random stab at what should go in the index and then listed every single occurrence in the book (and some references to non-existent ones). For example, under 'k' there is a single entry 'keyboard input' with references to five pages. Nowhere is any clue given as to which is the prime reference. Bizarrely 'ISBN' is listed under 'i' with a reference to the copyright page.

While browsing the book, I came across vectorStockItem. That code also had #include "vector.h" which is clearly not from the Standard C++ Library so I turned to look up 'vector' in the index; not a sign of it.

Clearly this book has no value as a reference, and little value with regard to learning modern C++. Much of the dialogue supposedly between Susan and Steve must have been constructed long after Susan had lost her novice status (because the original book written while Susan was learning never got near much of the material covered in this book, which originated in a later book Who's Afraid of More C++).

The idea behind this book was great back in 1995, and would be great today, but the implementation that was acceptable then is, in my opinion, far from acceptable today. I can find no safe way to separate this book's value as a way to learn what programming is (satisfactorily) from learning to program in C++ (where I do not think it should be recommended). It is past time for the author to let go of this infant and seek out a new start based on the best of what C++ is today.


Book cover image courtesy of Open Library.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.