I’m delighted to join the staff at Morgan Kaufmann in introducing the fourth 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 fourth edition, I believe, strengthens both the content and the presentation.
In response to the rise of such topics as cloud computing, dynamic web content, mobile code, programmable GPUs, and multimodal interfaces, both instructors and professionals want to see an integrated treatment of language design and language implementation. Just like the earlier editions, PLP 4e 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 2013 report, suitable for a wide variety of courses. (The languages course at the University of Rochester, for which the book was originally designed, is in fact one of the course “exemplars” in the Computing Curricula report [pp. 369–371]).
For the fourth edition, we’ve added coverage of C & C++11, Java 8, C# 5, Scala, Go, Swift, Python 3, and HTML 5. Dozens of other topics have also been updated. Of particular note, material on types has been reorganized into two separate chapters, one on type systems, the other on composite types. The type systems chapter pulls together extensive new coverage of polymorphism. Coverage of functional programming has also been extensively updated, with OCaml now serving co-equally with Scheme as an examplar language.
A companion web site includes a wealth of additional material, too lengthy to fit in the printed book. Additional content is available for instructors only. To help minimize the financial burden on students, the fourth edition has been printed as a high quality paperback volume.
We were fortunate to have feedback from dozens of reviews and adopters of previous editions (used at some 200 schools). I am grateful for all these contributions, and am proud of this new edition. I hope you will consider it as you plan your upcoming courses.