Thoroughly updated to reflect the most current developments in language design and implementation, the second edition addresses key developments in programming language design.
The developments addressed are: Finalized C99 standard; Java 5; C# 2.0; Java concurrency package (JSR 166) and comparable mechanisms in C#; and, Java and C# generics.
This title introduces and discusses scripting languages throughout the book and in an entire new chapter that covers: Application domains: shell languages, text processing and report generation, mathematics and statistics, glue languages and general purpose scripting, extension languages, scripting the World Wide Web; Design concepts: names and scopes, string and pattern manipulation, high level data types, object orientation; and, Major languages: Perl, PHP, Tcl/Tk, Python, Ruby, JavaScript, XLST.
It updates many sections and topics such as: iterators; exceptions; polymorphism; templates/generics; scope rules and declaration ordering; separate compilation; garbage collection; and, threads and synchronization.The new pedagogical features include: Design and Implementation boxes; highlighting of the interplay between language design and language implementation; 'test your understanding' review questions; and, help for students to assess their understanding of key points of a section.
In more depth, CD supplements present more advanced or peripheral material for students who would like to extend their knowledge; and, explorations provide students with additional exercises that are open-ended, research-type activities.
The new reference features: over 900 numbered and titled examples that help the student to quickly cross-reference and access content for initial study and later review; Indices (in the printed text) for both the Design and Implementation boxes and the numbered examples; CD search engine for both the printed text and the supplemental sections; and, Live links on the CD to Web-based language tutorials, reference manuals, and compilers and interpreters.On the CD are: 'In More Depth' sections and sub-sections that are introduced in the book and presented on the CD; 'In More Depth' exercises and explorations for students wanting additional challenges; links to Web-based language reference manuals and tutorials; links to Web-based compilers and interpreters; text files containing the code fragments featured as examples in the book; search engine to search both the main text and the CD-only content; instructor support; password-protected site for adopters who request the password from a sales representative; solutions to most exercises; figures from the book in several formats; and, lecture slides prepared by other instructors.The new coverage: addresses the most recent developments in programming language design, including C99, C#, and Java 5; introduces and discusses scripting languages throughout the book as well as in an entire new chapter; includes a comprehensive chapter on concurrency, with coverage of the new Java concurrency package (JSR 166) and the comparable mechanisms in C#; and, updates many sections and topics, including iterators, exceptions, polymorphism, templates/generics, scope rules and declaration ordering, separate compilation, garbage collection, and threads and synchronization.
The other new pedagogical features are: it highlights the interaction and tradeoffs inherent in language design and language implementation decisions with over 100 Design and Implementation call-out boxes; adds end-of-chapter exploration exercises - open-ended, research-type activities; provides review questions after sections for quick self-assessment; and includes over 800 numbered examples to help the reader quickly cross-reference and access content.