Programming Language Pragmatics, Volume 1

Front Cover
Morgan Kaufmann, 2006 - Computers - 875 pages
Annotation. Thoroughly updated to reflect the most current developments in language design and implementation, the second edition

*Addresses key developments in programming language design:

+ Finalized C99 standard
+ Java 5
+ C# 2.0
+ Java concurrency package (JSR 166) and comparable mechanisms in C#
+ Java and C# generics

*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

+ Major languages: Perl, PHP, Tcl/Tk, Python, Ruby, JavaScript, XLST

*Updates many sections and topics:

+ iterators
+ exceptions
+ polymorphism
+ templates/generics
+ scope rules and declaration ordering
+ separate compilation
+ garbage collection
+ threads and synchronization

New pedagogical features

Design & Implementation boxes

+ Highlight the interplay between language design and language implementation

Test Your Understanding review questions

+ Help students 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


+ Provide students with additional exercises that are open-ended, research-type activities

New reference features

+ Over 900 numbered and titled examples 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.

+ Live links on the CD to Web-based language tutorials, reference manuals, and compilers and interpreters.

On the CD

+ 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

CD System Requirements
PDF Viewer
The CD material includes PDF documents that you can read with a PDF viewer such as Adobe, Acrobat or Adobe Reader. Recent versions of Adobe Reader for some platforms are included on the CD.

HTML Browser
The navigation framework on this CD is delivered in HTML and JavaScript. It is recommended that you install the latest version of your favorite HTML browser to view this CD. The content has been verified under Windows XP with the following browsers: Internet Explorer 6.0, Firefox 1.5; under Mac OS X (Panther) with the following browsers: Internet Explorer 5.2, Firefox 1.0.6, Safari 1.3; and under Mandriva Linux 2006 with the following browsers: Firefox 1.0.6, Konqueror 3.4.2, Mozilla 1.7.11.
The content is designed to be viewed in a browser window that is at least 720 pixels wide. You may find the content does not display well if your display is not set to at least 1024x768 pixel resolution.

Operating System
This CD can be used under any operating system that includes an HTML browser and a PDF viewer. This includes Windows, Mac OS, and most Linux and Unix systems.

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
+ Lecture slides prepared by other instructors

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#.
* Updates many sections and topics, including iterators, exceptions, polymorphism, templates/generics, scope rules and declaration ordering, separate compilation, garbage collection, and threads and synchronization.

New Pedagogical Features:
* 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.
* Includes over 800 numbered examples to help the reader quickly cross-reference and access content.

Other editions - View all

About the author (2006)

Michael L. Scott is a professor in the University of Rochester's Department of Computer Science, which he chaired from 1996 to 1999. He is the designer of the Lynx distributed programming language and a co-designer of the Charlotte and Psyche parallel operating systems, the Bridge parallel file system, the Cashmere distributed shared memory system, and the MCS mutual exclusion lock. He received his Ph.D. from the University of Wisconsin-Madison in 1985.

Bibliographic information