Education: Book Reviews
We hope to build up a list of books reviewed and recommended by members
of the MINOS OO group. This is what we have so far, but see also
The Lattice References list
Books in red are NOT recommended!
C++ How To Program
by Deitel & Deitel 2nd edition. Pub: Prentice Hall (1998), ISBN 0-13-528910-6 1130 pp.
This book is actually, I think, a very good and friendly introduction to
C++. It has many illustrative examples and introduces the concepts of object
oriented design early in the book with a running OO example at the end of
each chapter that is developed as the material progresses. (Although the
running example they've chosen is a bit complex to easily implement, and the
truth is after the first few chapters I stopped following its development to
move more quickly through the book.) Another feature of the book that I
like is that throughout the text it has highlighted tips to avoid common
programming mistakes and to recommend good programming practices.
One possible drawback (depending on one's point-of-view) is that this is
a straight C++ book, and definitions of C-style statements such as printf and
scanf cannot be found here.
C++ for C Programmers
by Ira Pohl 2nd edition. Pub: Benjamin Cummings (1994) 370 pp.
Sue Schubert: This book is too concise for an introductory text, and
contains too few examples. It was the text used for my introductory C++
course (so I was forced to use it), but I often found myself reaching
for a different book (Deitel & Deitel) to get a fuller description of
the material being presented. The user should also be aware that this
2nd edition is full of errors, which have been documented at
Large-Scale C++ Software Design
by J. Lakos. Pub: Addison-Wesley Pub Co; ISBN: 0201633620
My thinking has been influenced by
this book which I found very
useful if a bit long and boring. He outlines many strategies for deciding
how packages should be defined and layed out so that they can be tested
incrementally and in isolation and ways of detecting poor designs from the
physical layout of the code. I have a link from my software page if
anyone's interested. He also supplies some code for analyzing the #include
file structure of code to chart its dependency structure to help outline
where designs can be improved for modularity, testability and
simplicity. I've used it a fair amount and quite like it.
Practical C++ Programming
by Steve Oualline, Pub: O'Reilly and Associates (Squirrel cover),
ISBN: 1-56592-139-9, 557 pp, $35.00
- Pros: This book would be good for someone with no
or very little experience in C or C++. If you already know C well,
and have had some previous exposure to C++ (even cursory) then there
won't be much in here for you. It is probably a very good book for
Fortran programmers who are just learning C/C++. It includes many
examples throughout which give concrete uses of what ever topic is
- Cons: The book was published in 1995 before
much of C++ was standardized or in some cases even implemented, so it
is necessarily vague on some things, and points out when it is so.
There is virtually nothing on OO discussed, although it attempts to
stress good programming style which is still applicable to OO methods.
STL is a ANSI standard
library that provides a wide range of standardised
and algorithms. Note that CINT has limited support for templates so we must
exercise caution in our use of STL.
STL for C++ programmers
by Leen Ammeraal. Pub: Wiley, 1997, ISBN 0-471-97181-2, 226 pp.
George Irwin: A good book.
STL tutorial & reference guide : C++ programming with the
standard template library
by David R. Musser, Atul Saini. Pub: Addison-Wesley Pub.400 pp.
Gary Feldman: A good book.
The Object Oriented Thought Process
Matt Weisfeld ISBN 0-672-31853-9 Paperback $29.99 @ Borders
Its pretty good at explaining the basics of OO like how you should
design classes, keeping stuff modular, is-a vs has-a relationships,
etc. a bonus is that the example for designing a program is not the
standard ATM example. it does tend to get repetative towards the end.
overall it is helpful and a quick read.
Groups of classes or objects often occur in co-operating groups, or patterns, to
address standard problems. Books on design patterns discuss such patterns.
Design Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Hlm, Ralph Johnson and John Vlissides. Pub: Addison-Wesley,
ISBN 0-201-63361-2, 400pp.
George Irwin and Nick West: A very good book on the subject.
Pete Border, see it
UML Distilled: Applying the Standard Object Modeling Language
by Martin Fowler. Pub: Addison-Wesley, ISBN 0-201-32563-2, 190 pp.
Nick West: A good book on both the notation and its application.
Go Back to the
The Education Top Page
If you have any comments about this page please send them to