I've found the interpreters-based approach for teaching programming languages to be both compelling and rewarding for my students. Exposing students to the revelation that an interpreter for a programming language is itself just another program opens up a world of possibilities for problem-solving. The third edition of Essentials of Programming Languages makes this approach of writing interpreters more accessible than ever.(Marc L. Smith, Department of Computer Science, Vassar College)
Having taught from EOPL for several years, I appreciate the way it produces students who understand the terminology and concepts of programming languages in a deep way, not just from reading about the concepts, but from programming them and experimenting with them. This new edition has an increased emphasis on types as contracts for defining procedure interfaces, which is quite important for many students. This new emphasis meshes well with the way the domains and operations of the interpreters are described.(Gary T. Leavens, School of Electrical Engineering and Computer Science,University of Central Florida)
With lucid prose and elegant code, this book provides the most concrete introduction to the few building blocks that give rise to a wide variety of programming languages. I recommend it to my students and look forward to using it in my courses.(Chung-chieh Shan, Department of Computer Science, Rutgers University)
About the Author
Mitchell Wand is Professor of Computer Science at Northeastern University.