Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Resources in parallel and concurrent systems
, ACM Press, New York, NY, 1991. Type: Book (9780897914000)
Date Reviewed: Jun 1 1992

I found this book to be an excellent text for teaching C++ as a second language because it introduces important features of C++ in a clear fashion. Swan’s choice of examples was refreshing in that they illuminate how a particular feature should be used rather than examples that highlight program tricks. It has become commonplace for authors who are writing texts about C or C++ to use examples that emphasize the idiosyncrasies of these languages.

Swan does not indicate that the reader needs the experience of programming in another language, but I found the text unsuitable for a first programming language course for several reasons. First, it does not discuss algorithm development, documentation and coding styles, or basic testing strategies, issues I regard as essential for any book that is aimed at novice programmers. Second, the introduction to object-oriented programming requires a degree of sophistication that we cannot expect novice programmers to have. It is unrealistic to expect programmers who are still trying to master the complexity of C++’s syntax to appreciate the value of inheritance as a programming technique.

The book consists of nine chapters, which can be divided into four categories. Chapters 1 through 4 give an introduction to C++, explaining fundamental components such as input and output, built-in data structures, and the various statements provided in C++. Swan makes a point of distinguishing between the way that things are done in C++ and the way they are done in C. For example, the use of streams for input and output is discussed and compared to the use of printf and scanf in C. Similarly, with pointers, Swan discusses the use of new and delete in place of C’s malloc and free.

Chapters 5 through 7 introduce the reader to C++’s support of object-oriented programming. The reader is not assumed to be familiar with object-oriented programming concepts. These three chapters whet the reader’s appetite for object-oriented programming. Chapter 5 introduces the notion of objects and classes. These ideas are then demonstrated in chapters 6 and 7, which deal with the development and use of software libraries, a key concept behind object-oriented programming.

Chapter 8 addresses how file processing is handled in C++. Finally, chapter 9 introduces some of the more advanced features of C++, such as friend functions and overloading.

A demonstration version of Zortech’s C++ compiler for the PC is provided with the book. This makes the book particularly appealing to those who wish to investigate the language but do not have a C++ compiler. Machine-readable versions of the examples in the text are also provided so students can use them along with the text. This material is particularly useful when looking at the software library that is the subject of chapters 6 and 7.

This book is extremely well written and could be used as a class text or for self-teaching. Swan has succeeded in producing a book that is easy to read, an important feature for any textbook. I would have no hesitation in recommending that it be used to teach C++.

Reviewer:  Frank W. Calliss Review #: CR115642
Bookmark and Share
 
Concurrent Programming (D.1.3 )
 
 
Concurrency (H.2.4 ... )
 
 
Multiple-Instruction-Stream, Multiple-Data-Stream Processors (MIMD) (C.1.2 ... )
 
 
Parallel Processors (C.1.2 ... )
 
 
Language Constructs and Features (D.3.3 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Concurrent Programming": Date

Type: Journal
Jul 1 1985
Concurrent programming
Andrews G., Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1991. Type: Book (9780805300864)
Jun 1 1994
Concurrent programming
Snow C., Cambridge University Press, New York, NY, 1992. Type: Book (9780521327961)
Jun 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy