Completely revised and updated, the third edition of Principles of Programming Languages: Design, Evaluation, and Implementation teaches key design and implementation skills essential for language designers, compiler writers, and other computer scientists. It also covers descriptive tools and historical precedents so that students can understand design issues in their historical context. Ideal for advanced undergraduate and graduate courses in programming languages and comparative languages, this text uses a unique horizontal organization that analyzes individual languages in their entirety, facilitating discussion of the interrelationships between the parts of a language. It teaches design skills by emphasizing basic principles more than details, focuses on methods of implementation over specific techniques, and presents concepts inductively. In-depth case studies of representative languages from five generations of programming language design (Fortran, Algol-60, Pascal, Ada, LISP, Smalltalk, and Prolog) are used to illustrate larger themes.
This third edition adds discussions of the phenomenology of programming languages, the role of conceptual models in language design, language size and complexity, and system implementation languages (with an emphasis on C). It covers programming environments (as illustrated by the Interlisp system) and recent developments in object-oriented programming (including C++, Ada 95, CLOS, and Java), and expands the discussion of multiple inheritance. Historical information has been updated to reflect new developments in the industry and many new exercises have been added as well.