Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Object-oriented programming languages : interpretation (Undergraduate Topics in Computer Science)
Craig I., Springer-Verlag New York, Inc., Secaucus, NJ, 2007. 252 pp. Type: Book (9781846287732)
Date Reviewed: Aug 9 2007

Object orientation has recently become a major part of undergraduate computer science programs, making this a timely book. Although the book could be a useful reference for students in a course about comparative programming languages, it is almost indispensable for someone who teaches object-oriented programming. Classes define types. Yet, this simple fact has either been incorrectly interpreted or deliberately downplayed by many who teach object orientation.

Learning problem solving through programming is essentially a process of learning to develop various kinds of problem-solving algorithms implemented in a specific programming language. However, what one may not realize is that, for a given problem, learning how the design and use of data types apply to a solution is equally important; defining classes and their hierarchies according to our interests about the organization of the application domain is at the core of a program design. What makes object-oriented programming difficult to master is that some object behaviors may be inherited, redefined (in subtypes), or even abstract (in the case of interfaces or abstract classes), and the state of an object may include states of other objects (object aggregation). Understanding these features of objects lies at the heart of learning object-oriented programming. Does inheritance automatically result in subtypes? How is a type made known at runtime? What is generic polymorphism and how does it work? What are the benefits and problems of using classes simply as containers of methods? Chapters 6 and 7, the most important chapters of the book, give the answers to all of these questions and more.

The rest of the book is organized as follows. After a brief introduction in chapter 1, chapter 2 reviews class fundamentals. Chapter 3 introduces some less-known denominations of object-oriented programming languages: prototype and actor languages. Although these are not currently mainstream object-oriented languages, they may shape, at least in part, the future of object-oriented languages. Various kinds of inheritance are discussed in chapter 4. As the emphasis of learning object orientation is on inheritance and polymorphism, methods are often much less thoroughly addressed than they are in traditional courses using a procedurally oriented language. Yet, arguably, methods are the most important part of problem solving and help determine how things are actually accomplished algorithmically at the bottom of a problem-decomposition hierarchy. Chapter 5 then reviews and examines the position of methods in object-oriented languages, their location, environment, and closure. Finally, two object-oriented languages, C# and BeCecil, are briefly introduced.

This book does have its weaknesses. The description of a concept may be unnecessarily repeated in different chapters with a bit of inconsistency in what is said about the concept, when the author could have simply referred to an earlier section in which the concept appeared. Simple yet illustrative examples could have been given (especially for chapter 3) to enhance the description of a concept or a language feature. Nonetheless, I believe the book serves the purpose the author claims it will.

Reviewer:  Chenglie Hu Review #: CR134627
Bookmark and Share
 
Object-Oriented Languages (D.3.2 ... )
 
 
Language Constructs and Features (D.3.3 )
 
 
Object-Oriented Programming (D.1.5 )
 
 
Semantics Of Programming Languages (F.3.2 )
 
 
Studies Of Program Constructs (F.3.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Object-Oriented Languages": Date
Understanding object-oriented: a unifying paradigm
Korson T., McGregor J. (ed) Communications of the ACM 33(9): 40-60, 1990. Type: Article
May 1 1991
From Fortran and Algol to object-oriented languages
Wilkes M. Communications of the ACM 36(7): 21-23, 1993. Type: Article
Nov 1 1994
Object-oriented programming with prototypes
Blaschek G., Springer-Verlag New York, Inc., New York, NY, 1994. Type: Book (9780387564692)
Feb 1 1995
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