The innovative approach of the first edition of Programming Language Pragmatics provided students with an integrated view of programming language design and implementation, while offering a solid teaching text on timely language topics in a rigorous yet accessible style. The new edition carries on these distinctive features as well as the signature tradition of illustrating the most recent developments in programming language design with a variety of modern programming languages.Addresses the most recent developments in programming language design, including C99, C#, and Java 5Introduces and discusses scripting languages throughout the book as well as in an entire new chapterIncludes a comprehensive chapter on concurrency, with coverage of the new Java concurrency package (JSR 166) and the comparable mechanisms in C#Updates many sections and topics, including iterators, exceptions, polymorphism, templates/generics, scope rules and declaration ordering, separate compilation, garbage collection, and threads and synchronizationHighlights the interaction and tradeoffs inherent in language design and language implementation decisions with over 100 "Design and Implementation" call-out boxesAdds end-of-chapter "Exploration" exercises-open-ended, research-type activitiesProvides review questions after sections for quick self-assessmentIncludes over 800 numbered examples to help the reader quickly cross-reference and access content