I’m delighted to join the staff at Morgan Kaufmann in introducing the third edition of Programming Language Pragmatics. We have worked to make PLP the most comprehensive and accurate languages text available, in a style that is engaging and accessible to the typical undergraduate. This third edition, I believe, strengthens both the content and the presentation.
In response to the rise of such topics as virtual machines, scripting languages, mobile code, and graphical user interfaces, both instructors and professionals want to see an integrated treatment of language design and language implementation. Just like the earlier editions, PLP 3e stresses this sort of integration, while retaining a central focus on programming language design. It covers almost all of the Programming Language “Knowledge Units” of the IEEE/ACM Computing Curricula 2001 report, suitable for a wide variety of courses.
Regarding the technical content, you’ll find that we’ve added coverage of Java 6 and 7, C++0x, C# 3.0, F#, Fortran 2003 and 2008, Ada 2005, and Scheme R6RS. Dozens of other topics have also been updated. Perhaps the most important addition is a comprehensive new chapter on run-time program management, including virtual machines. The chapter on concurrency has been heavily revised as well, to reflect the language innovations now underway for multicore processors.
A companion CD includes a wealth of material for students, while a companion Web site provides support for instructors only. To help reduce the list price to the student, the 3rd edition has been printed as a high quality paperback volume.
We were fortunate to have feedback from dozens of reviews and adopters of the first and second editions (used at more than 150 schools). In addition, the second edition was class-tested at a dozen schools, and PLP 3e continues to benefit from that experience. I am grateful for these contributions from so many colleagues and am proud of this new edition. I hope you will consider it as you plan your upcoming courses.