Principles of Programming Languages

Principles of Programming Languages : Design, Evaluation and Implementation

3.62 (27 ratings by Goodreads)
By (author) 

List price: US$105.01

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Design is an essential topic for all computer science students regardless of whether or not they will ever have to create a programming language. The user who understands the motivation for various language facilities will be able to use them more intelligently; the compiler writer to implement them more reasonably. This new edition of Principles of Programming Languages covers both design and implementation issues important for computer users and compiler writers. It goes beyond these basic topics to cover descriptive tools as well as historical precedents so that design issues can be communicated and viewed in their historical context. Principles of programming languages are emphasized, not the details of language syntax. Methods of implementation are emphasized over the specific techniques. A horizontal organization, analysing individual languages in their entirety makes this book unique. This third edition is a complete and thorough revision of the last edition including the following: Discussions have been added in the "phenomenology" of programming languages and the rolse od conceptual models in language design; also, a discussion of system implementation languages, with an emphasis on C, has been added. Programming environments are discussed, as illustrated by the Interlisp system. This is in the context of a discussion of language characteristics conducive to rich programming environments. Furthermore, since Window-oriented interfaces are now more widely known, their description has been eliminated from the discussion of SmallTalk, except for a few historical remarks. This permits some new discussion of recent developments in object oriented programming (including C++, Ada 95, CLOS, Java, and the like), to the extent that they support the overall objectives of the book. Also, the discussion of multiple inheritance has been expanded. The purpose of this book is to teach the skills required to design programming languages. These skills are summarized in a number of principles, which are illustrated by case studies of several programming languages representing the five major generations of programming language design. This text is designed for a graduate course in Computer Science; the course is commonly called Programming Languages, Comparitive Languages, or Theory of Programming Languages. It could be used for any course in programming languages, even if the emphasis is not on design. In such cases it might have to be supplemented with another book containing detailed language descriptions. In addition, it might also be an auxillary text in a course on human interfeace design or software more

Product details

  • Hardback | 528 pages
  • 190.5 x 238.76 x 30.48mm | 1,088.62g
  • Oxford University Press Inc
  • New York, United States
  • English
  • Revised
  • 3rd Revised edition
  • numerous line figures
  • 0195113063
  • 9780195113068

Table of contents

PREFACE; Concept Directory; I. History, Motivation, and Evaulation; II. Design and Implementation; III. Principles; IV. Implementation; INTRODUCTION; 1. The Beginning: Pseudo-Code Interpreters; 1.1 History and Motivation; 1.2 Design of a Pseudo-Code; 1.3 Implementation; 1.4 Phenomenology of Programming Languages; 2. Emphasis on Efficiency: FORTRAN; 2.1 History and Motivation; 2.2 Design: Structural Organization; 2.3 Design: Control Structures; 2.4 Design: Data Structures; 2.5 Design: Name Structures; 2.6 Design: Syntactic Structures; 2.7 Evaluation and Epilog; 3. Generality and Hierarchy: ALGOL-60; 3.1 History and Motivation; 3.2 Design: Structural Organization; 3.3 Design: Name Structures; 3.4 Design: Data Structures; 3.5 Design: Control Structures; 4. Syntax and Elegance: ALGOL-40; 4.1 Design: Syntactic Structures; 4.2 Descriptive Tools: BNF; 4.3 Design: Elegance; 4.4 Evaluation and Epilog; 5. Return to Simplicity: PASCAL; 5.1 History and Motivation; 5.2 Design: Structural Organization; 5.3 Design: Data Structures; 5.4 Design: Name Structures; 5.5 Design: Control Structures; 5.6 Evaluation and Epilog; 6. Implementation of Block Structured Languages; 6.1 Activation Records and Context; 6.2 Procedure Call and Return; 6.3 Display Method; 6.4 Blocks; 6.5 Summary; 7. Modularity and Data Abstraction: ADA; 7.1 History and Motivation; 7.2 Design: Structural Organization; 7.3 Design; Data Structures and Typing; 7.4 Design: Name Structures; 8. Procedures and Concurrency: ADA; 8.1 Design: Control Structures; 8.2 Design: Syntactic Structures; 8.3 Evaluation and Epilog; 9. List Processing: LISP; 9.1 History and Motivation; 9.2 Design: Structural Organization; 9.3 Design: Data Structures; 10. Functional Processing: LISP; 10.1 Design: Control Structures; 10.2 Design: Name Structures; 10.3 Design: Syntactic Structures; 11. Implementation of Recursive List-Processors: LISP; 11.1 Recursive Interpreters; 11.2 Storage Reclamation; 11.3 Evaluation and Epilog; 12. Object-Oriented Programming: SmallTalk; 12.1 History and Motivation; 12.2 Design: Structural Organization; 12.3 Design: Classes and Subclasses; 12.4 Design: Objects and Message Sending; 12.5 Implementation: Classes and Objects; 12.6 Design: Object-Oriented Extensions; 12.7 Evaluation and Epilog; 13. Logic Programming: Prolog; 13.1 History and Motivation; 13.2 Design: Structural Organization; 13.3 Design: Data Structures; 13.4 Design: Control Structures; 13.5 Evaluation and Epilog; 14. Principles of Language Desing; 14.1 General Remarks; 14.2 Principles; BIBLIOGRAPHY; INDEXshow more

Rating details

27 ratings
3.62 out of 5 stars
5 33% (9)
4 26% (7)
3 26% (7)
2 0% (0)
1 15% (4)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X