Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Essentials of programming languages
Friedman D. (ed), Haynes C., Wand M., MIT Press, Cambridge, MA, 1992. Type: Book (9780262061452)
Date Reviewed: Feb 1 1994

Hal Abelson’s foreword suggests that not only is this textbook different, it will change the landscape of programming language courses. In many ways, it is different. We have seen a progression of approaches to the study of programming languages, starting with comparisons at the language level, which implied a study and comprehension of the languages themselves, and moving to studies of programming language fundamentals detached from the concrete languages of common usage. To a great extent, this book falls into the latter category, but it has gone a step further in attempting to find a common metalanguage in which to express the meanings of programming language ideas.

The book is based primarily on Scheme as an operational metalanguage, and a large portion of the book is taken up by the preparation for the real object of study. This material is not a repetition of a Scheme manual but a managed learning experience that lays the foundations for the needed constructs, which are presented in later chapters. The idea of using interpreters as the basis for describing languages is not new in the realm of textbooks, and the use of a common metalanguage of expression is similarly not unique. What sets this book apart is that the descriptive narrative of language constructs is replaced by vignettes of Scheme code that can be coalesced into larger modules or interpreters to actually implement a language processor. This ability is useful, but I miss the give and take of progressive development of the concepts behind language elements. I got the impression of being handed modular implementations of language elements with little room for individual expression or consideration of viable alternatives. In some ways, the textbook attempts to standardize the meanings of language elements and lacks what I have thought to be useful discussion of the rationale for implementation methodologies.

These comments are not to be taken to imply that this book is a reference book rather than a textbook; a student will be able to learn language concepts through a hands-on approach that may be much more effective than pure lectures and program writing. It may be difficult to return to this text later in one’s career and recover concepts without some difficulty, however. The selection of this book as a course text will depend on the interest of the individual faculty member, and for most current teachers of comparative languages it will represent a change in direction.

Reviewer:  J.A.N. Lee Review #: CR116110
Bookmark and Share
 
Language Constructs and Features (D.3.3 )
 
 
Interpreters (D.3.4 ... )
 
 
Scheme (D.3.2 ... )
 
 
Semantics (D.3.1 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Language Constructs and Features": Date
A stub generator for multilanguage RPC in heterogeneous environments
Gibbons P. IEEE Transactions on Software Engineering 13(1): 77-87, 1987. Type: Article
Aug 1 1987
Symbolic computing with Lisp
Cameron R., Dixon A., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780138778460)
Apr 1 1994
Extending the domain of APL
Wheatley M. IBM Systems Journal 30(4): 446-455, 1991. Type: Article
Dec 1 1993
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