Programming Languages: Application and Interpretation
![]() | This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (December 2014) |
![]() Cover of Programming Languages: Application and Interpretation | |
Author | Shriram Krishnamurthi |
---|---|
Country | USA |
Language | English |
Subject | Programming languages |
Publisher | Self-published |
Publication date | 2003 (first published, releases are on-going) |
Pages | 355 |
Programming Languages: Application and Interpretation (PLAI) is a free programming language textbook by Shriram Krishnamurthi. It is in use at over 30 universities, in several high-schools.[citation needed]
The book differs from most other programming language texts in its attempt to wed two different styles of programming language education: one based on language surveys and another based on interpreters. In the former style, it can be too easy to ignore difficult technical points, which are sometimes best understood by trying to reproduce them (via implementation); in the latter, it can be too easy to miss the high-level picture in the forest of details. PLAI therefore interleaves the two, using the survey approach to motivate ideas and interpreters to understand them.
The book is accompanied by supporting software that runs in the Racket programming language.
Since PLAI is constantly under development, some of the newer material (especially assignments) is found on course pages at Brown University.
PLAI is also an experiment in publishing methods. The essay Books as Software discusses why the book is self-published. In addition, the book is currently (as of December 2014) available not only in (for-pay) print but also both free and for-pay electronic editions.
References[]
- Second edition full text
- Book homepage
- An essay on the pointlessness of language paradigms; this guides the design of the book
- An essay on the Books as Software philosophy; this guides the publication of the book
- Computer programming books
- Computer science books
- Interpreters (computing)
- Programming languages
- Computer book stubs