Find this book at the nearest libraries. (3.2 MB)


The specific goals of this book are to help students learn: *To reason clearly about programming languages. *To develop principles of communication so that we can evaluate the wisdom and utility of the decisions made in the process of language design. *To break down language into its major components, and each component in to small pieces so that we can focus on competing alternatives. *To define a consistent and general set of terms for the components out of which programming languages are built, and the concepts on which they are based. * To use these terms to describe existing languages, and in so doing clarify the conflicting terminology used by the language designers, and untangle the complexities inherent in so many languages. *To see below the surface appearance of a language to its actual structure and descriptive power. *To understand that many language features that commonly occur together are, in fact, independent and separable. *To appreciate the advantages and disadvantages of each feature. *To suggest ways in which these basic building blocks can be recombined in new languages with more desirable properties and fewer faults. *To see the similarities and differences that exist among languages students already know, and to learn new ones. To use the understanding so gained to suggest future trends in language design.



Publication Date



Prentice Hall


Englewood Cliffs, N.J.


Programming languages, programming

Subject: LCSH

Programming languages (Electronic computers)


Computer Engineering | Electrical and Computer Engineering


Copyright now owned by Alice Fischer. Posted by her permission. Download version updated 2014. Posted also at Professor Fischer's course site.

Publisher Citation

Fischer, Alice E., Grodzinsky, Frances S. The Anatomy of Programming Languages. Englewood Cliffs, NJ: Prentice Hall, 1993. 2014 update (C) Alice Fischer.

The Anatomy of Programming Languages