Principles of Programming Languages 2nd Ed.

Design, Evaluation, and Implementation

Bruce J. MacLennan

Publisher: HRW, 1987, 568 pages

ISBN: 0-03-005163-0

Keywords: Programming

Last modified: Jan. 21, 2014, 10:15 p.m.

The Principles of Programming Languages: Design, Evaluation, and Implementation teaches key design and implementation skills essential for language designers, compiler writers, and other computer scientists. It also covers descriptive tools and historical precedents so that students can understand design issues in their historical context. Ideal for advanced undergraduate and graduate courses in programming languages and comparative languages, this text uses a unique horizontal organization that analyzes individual languages in their entirety, facilitating discussion of the interrelationships between the parts of a language. It teaches design skills by emphasizing basic principles more than details, focuses on methods of implementation over specific techniques, and presents concepts inductively. In-depth case studies of representative languages from five generations of programming language design (Fortran, Algol-60, Pascal, Ada, LISP, Smalltalk, and Prolog) are used to illustrate larger themes.

  1. The Beginning: Pseudo-code Interpreters
    1. History and Motivation
    2. Design of a Pseudo-Cpde
    3. Implementation
    4. Evaluation and Epilog
    • Exercises
  2. Emphasis on Efficiency: FORTRAN
    1. History and Motivation
    2. Design: Structural Organization
    3. Design: Control Structures
    4. Design: Data Structures
    5. Design: Name Structures
    6. Design: Syntactic Structures
    7. Evaluation and Epilog
    • Exercises
  3. Elegance and Generality: ALGOL-60
    1. History and Motivation
    2. Design: Structural Organization
    3. Design: Name Structures
    4. Design: Data Structures
    5. Design: Control Structures
    • Exercises
  4. Syntactic Issues: ALGOL-60
    1. Design: Syntactic Structures
    2. Descriptive Tools: BNF
    3. Evaluation and Epilog
    • Exercises
  5. Return to Simplicity: PASCAL
    1. History and Motivation
    2. Design: Structural Organization
    3. Design: Data Structures
    4. Design: Name Structures
    5. Design: Control Structures
    • Exercises
  6. Implementation of Block Structured Languages
    1. History and Motivation
    2. Design: Structural Organization
    3. Display Method
    4. Blocks
    5. Summary
    • Exercises
  7. Modularity and Data Abstraction: ADA
    1. History and Motivation
    2. Design: Structural Organization
    3. Design: Data Structures and Typing
    4. Design: Name Structures
    • Exercises
  8. Procedure and Concurrency: ADA
    1. Design: Control Structures
    2. Design: Name Structures
    3. Design: Syntactic Structures
    • Exercises
  9. List Processing: LISP
    1. Design: Control Structures
    2. Design: Name Structures
    3. Design: Syntactic Structures
    • Exercises
  10. Functional Programming: LISP
    1. Design: Control Structures
    2. Design: Name Structures
    3. Design: Syntactic Structures
    • Exercises
  11. Implementation of Recursive List-Processors: LISP
    1. Recursive Interpreters
    2. Storage Reclamation
    3. Evaluation and Epilog
    • Exercises
  12. Object Oriented Programming: SmallTalk
    1. History and Motivation
    2. Design: Structural Organization
    3. Design: Classes and Subclasses
    4. Design: Objects and Message Sending
    5. Implementation: Classes and Objects
    6. Evaluation and Epilog
    • Exercises
  13. Logic Programming: Prolog
    1. History and Motivation
    2. Design: Structural Organization
    3. Design: Data Structures
    4. Design: Control Structures
    5. Evaluation and Epilog
    • Exercises
  14. Principles of Language Design
    1. General Remarks
    2. Principles
    • Exercises

Reviews

Principles of Programming Languages

Reviewed by Roland Buresund

Mediocre **** (4 out of 10)

Last modified: Jan. 21, 2014, 9:50 p.m.

If you don't fall asleep while reading this, congratulations!

An extremely academic view of programming languages. Mostly fun for historical value.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required