Programming Language Concepts

Carlo Ghezzi, Mehdi Jazayeri
3rd edition, ISBN 0-471-10426-4

This is the home page for the Third Edition of the book Programming Language Concepts by Carlo Ghezzi and Mehdi Jazayeri, published by John Wiley & Sons. The book is now in its second printing. The first printing had some printing problems (poor margins) which have been corrected in the second printing. This site is intended to provide supporting material for instructors and students.
As the preface of the book states,
"Programming languages are at the heart of computer science. They are the tools we use to communicate with computers and also with people. The challenge of designing language features that support clear expression, the puzzle of fitting together different features to make a useful language, and the challenge of appropriately using those features for the clear expression of algorithms make up part of the excitement of the study of programming languages.
This is the third edition of Programming Language Concepts. We started writing the first edition in 1980 when it appeared to us that the field of programming languages was becoming stable. We were way wrong then! To this day, the field continues to be dynamic and exciting. New concepts and languages continue to arrive to excite large communities of computer scientists, theorists, experimentalists, and practitioners alike. Indeed, programming languages represent one of the few areas of computer science where practitioners and theorists find common ground. Emerging technologies and new application requirements require continuous evolution and innovation in the field and are sure to keep the flow of ideas and concepts going for a long time.
This book studies fundamental concepts that underlie the features of programming languages. ... "

The book is meant to be used as a textbook and here are some resources to assist the instructors.

Sample syllabus is a starting point for a course syllabus and contains hints on how much time to devote to each chapter.

Book figures for use as slides

All the figures in the book are provided here in postscript format. There are two ways to download them: Some instructors find it convenient to use the figures for preparing slides for their lectures.

Simplesem interpreter

As teaching support, we have developed a Java-based interpreter for Simplesem. You may find it useful in your course too. It makes it easier for students to check the correctness of their translations of programming language features. The interpreter is available for download as an application or to run as an applet. It starts off with a recursive factorial program. A paper describes the educational goals of the Simplesem Development Environment (SDE). Questions, suggestions, and feedback welcome!


Last modified: 29/January/1998, (Mehdi Jazayeri)