The COBS Review Series
Roger Woolnough and Nicole Crémel IT/User Support
This is the third in a series of articles where we intend to make a brief assessment on the books offered at the CERN COBS Service (COmputing Books Selling Service). This time we have selected our offerings on C++.
Note that the list of books proposed may evolve in time according to the needs (e.g. new editions, new software or product versions, etc.) and to user feedback.
At the date of publication of this CNL (September 1998), the list of books proposed in the category C++ is:
The C++ Programming Language- Bjarne Stroustrup
This book is written by Bjarne Stroustrup who is the designer and
original implementor of the C++ language. This is one of the best selling
books ever on C++. It may be used both as reference and also a tutorial
in the way in which it is written. There is a supporting Web page at URL:
The Complete C++ training course- Dietel & Dietel
The package is composed of the book by Dietel
"C++ How to Programme"
and a CD ROM that runs on Windows 95 or NT or Solaris. This is an excellent
interactive method to learn C++. There are 8 hours of audio and 1400 excercises
to help you learn. This book was purchased due to heavy demand for an interactive
The C++ Primer- Stanley B. Lippman & Josee Lajoie
This has been the standard book for learning C++ and is now
considerably modified in its 3rd edition. It is written as a tutorial
with many programming examples that illustrate the design of generic and
object-oriented programs. Supporting Web page is at URL:
Practical C++ Programming- Steve Oualline
This O'Reilly book is in the catalogue as it provides a
good transition for C programmers to learn C++. As the title suggests
it provides lots of practical tips including debugging and making your
code easily understandable to others. The book also includes a number
of exercises after each chapter to help the reader.
C++ the Core language- Gregory Satir & Doug Brown
This book is for C programmers moving to C++. It is the companion
book to "Practical C++ Programming".
It is designed to enable readers to
understand a basic subset of the language and then to move on to
another more comprehensive book on C++.
Effective C++- Scott Meyers
This book and its sister title
"More Effective C++" provide
many guidelines on writing better code. There is excellent guidance on
Object-Oriented design, class design and use of inheritance.It includes
an examination of the standard C++ library and how
the Standard Template Library (or STL)
and classes like
the structure of programmes. A book for C++ experts.
More Effective C++- Scott Meyers
Again as the title suggests full of lots of explanations on
improving programming techniques. It includes an examination of the
time/space costs of C++ language features. Includes information on
many advanced features of the language like placement
proxy classes and double-dispatching.
A book only suitable
for those who already have a good knowledge of C++.
Scientific and Engineering C++- John J. Barton &
Lee R. Nackman - [I/A]
The CERN bookshop's best selling C++ book ! It is the book used
for the C++ courses given at CERN. It was originally stocked as one of the
few books available that provided a good transition for Fortran programmers
to learn C++. It suits the CERN environment especially well as it is
oriented towards scientific uses of the language. Suitable for experienced
C++ for Fortran Programmers- Ira Pohl
The title tells everything here, a book for the Fortran programmer
to learn C++ ! It includes C++ to Fortran equivalencies and features
engineering computations throughout. There is a chapter on STL
(Standard Template Library) and code
to go with this title is available at URL:
Object Oriented Programming using C++- Ira Pohl
Another very popular book with CERN users for their introduction
to Object Oriented Programming. The book is well written and includes
excercises and many examples to help the reader understand the concepts.
Code is available for all examples at URL:
Advanced C++ Programming styles- James O. Coplien
Assumes a basic knowledge of C++ and discusses the benefits
and pitfalls of using advanced C++ techniques. It includes large-scale design
issues including exception handling, distributed processing and library design.
Provides guidelines for translating object oriented designs into C++
implementations. Another title for the experienced programmer.
Unix system programming using C++- Terence Chan
This book provides help for Unix and Posix system programmers
to develop C++ programs. It provides information on advanced network
programming using sockets. Included are extensive example programs
demonstrating how to construct C++ classes and applications with ANSI, UNIX
and POSIX standard functions and classes.