Programming Language Pragmatics, Third Edition and over 670,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

Have one to sell? Sell yours here
or
Get a $2.27 Amazon.com Gift Card
Programming Language Pragmatics, Second Edition
 
 
Start reading Programming Language Pragmatics, Third Edition on your Kindle in under a minute.

Don’t have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Programming Language Pragmatics, Second Edition [Paperback]

Michael L. Scott (Author)
4.8 out of 5 stars  See all reviews (25 customer reviews)


Available from these sellers.


17 new from $27.87 46 used from $6.30
Textbook StudentJoin Amazon Student and get FREE Two-Day Shipping for one year with Amazon Prime shipping benefits.

Formats

Amazon Price New from Used from
Kindle Edition $41.75  
Hardcover --  
Paperback $50.27  
Paperback, November 21, 2005 --  
Sell This Book Back for $2.27
Whether you buy it used on Amazon for $6.30 or somewhere else, you can sell it back to our Textbook Buyback Store at the current price of $2.27. Restrictions Apply
Used Price$6.30
Buyback Price$2.27
Price after
Buyback
$4.03
There is a newer edition of this item:
Programming Language Pragmatics, Third Edition Programming Language Pragmatics, Third Edition 4.8 out of 5 stars (25)
$50.27
In Stock.
What Do Customers Ultimately Buy After Viewing This Item?
Programming Language Pragmatics, Second Edition
86% buy the item featured on this page:
Programming Language Pragmatics, Second Edition 4.8 out of 5 stars (25)
Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages (Pragmatic Programmers)
6% buy
Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages (Pragmatic Programmers) 4.7 out of 5 stars (10)
$23.07
The Definitive Antlr Reference: Building Domain-Specific Languages (Pragmatic Programmers)
3% buy
The Definitive Antlr Reference: Building Domain-Specific Languages (Pragmatic Programmers) 3.9 out of 5 stars (16)
$24.39
Elements of Programming
3% buy
Elements of Programming 4.5 out of 5 stars (11)
$31.19

Customers Who Bought This Item Also Bought


Editorial Reviews

Amazon.com Review

As a textbook suitable for the classroom or self-study, Michael Scott's Programming Language Pragmatics provides a worthy tour of the theory and practice of how programming languages are run on today's computers. Clearly organized and filled with a wide-ranging perspective on over 40 different languages, this book will be appreciated for its depth and breadth of coverage on an essential topic in computer science.

With references to dozens of programming languages, from Ada to Turing and everything in between (including C, C++, Java, and Perl), this book is a truly in-depth guide to how code is compiled (or interpreted) and executed on computer hardware. Early chapters tend to be slightly more theoretical (with coverage of regular expressions and context-free grammars) and will be most valuable to the computer science student, but much of this book is accessible to anyone seeking to widen their knowledge (especially since recent standards surrounding XML make use of some of the same vocabulary presented here).

The book has a comprehensive discussion of compilation and linking, as well as how data types are implemented in memory. Sections on functional and logical programming (illustrated with Scheme and Prolog, which are often used in AI research) can expand your understanding of how programming languages work. Final sections on the advantages--and complexities--of concurrent processing, plus a nice treatment of code optimization techniques, round out the text here. Each chapter provides numerous exercises, so you can try out the ideas on your own.

Students will benefit from the practical examples here, drawn from a wide range of languages. If you are a self-taught developer, the very approachable tutorial can give you perspective on the formal definitions of many computer languages, which can help you master new ones more effectively. --Richard Dragan

Topics covered: A survey of today's programming languages, compilation vs. interpretation, the compilation process, regular expression and context-free grammars, scanners and parsers, names, scopes and bindings, scope rules, overloading, semantic analysis, introduction to computer architecture, representing data, instruction sets, 680x0 and MIPs architectures, control flow and expression evaluation, iteration and recursion, data types, type checking, records, arrays, strings, sets, pointers, lists, file I/O, subroutines, calling sequences and parameter passing, exception handling, coroutines, compile back-end processing, code generation, linking, object-oriented programming basics, encapsulation and inheritance, late binding, multiple inheritance, functional and logical languages, Scheme and Prolog, programming with concurrency, shared memory and message passing, and code optimization techniques. --This text refers to an out of print or unavailable edition of this title.

Review

Programming Language Pragmatics is an outstanding introduction to language design and implementation. It illustrates not only the theoretical underpinnings of the languages that we use, but also the ways in which they have been guided by the development of computer architecture, and the ways in which they continue to evolve to meet the challenge of exploiting multicore hardware.



-Tim Harris, Microsoft Research

--This text refers to an alternate Paperback edition.

Product Details

  • Paperback: 912 pages
  • Publisher: Morgan Kaufmann; 2 edition (November 21, 2005)
  • Language: English
  • ISBN-10: 0126339511
  • ISBN-13: 978-0126339512
  • Product Dimensions: 9 x 7.4 x 1.4 inches
  • Shipping Weight: 3.2 pounds
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (25 customer reviews)
  • Amazon Bestsellers Rank: #480,542 in Books (See Top 100 in Books)

More About the Author

Michael Lee Scott
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Michael Lee Scott Page

Inside This Book (learn more)


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(4)

Your tags: Add your first tag
 

 

Customer Reviews

25 Reviews
5 star:
 (21)
4 star:
 (3)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.8 out of 5 stars (25 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
37 of 37 people found the following review helpful:
5.0 out of 5 stars Outstanding introduction to programming languages and their compilers, February 7, 2006
By Lars Tackmann (Copenhagen, Denmark) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
Over the years the Compilers: Principles, Techniques, and Tools (2nd Edition) (also knwon as the dragon book) has become the de facto standard for introducing compilers and related topics at universities. This is very unfortunate because "Programming Language Pragmatics" is in a completely different league and should be the one used instead. It gives the student (or the self taught) a complete and through overview of parsing, grammar, automata theory and other key language constructs. What really differentiates this book from others (and most notably the (in)famous "Dragon Book") is that it does so in a easy to understand manner and with lots of well written examples.

Many people find compiler and language theory to be dark magic, and it would be wrong not to acknowledge that these subjects are considerably harder than say creating a web page in PHP or writing a small Java/C# program. But much of the confusion also stems from the long history of porly written books which all have lacked explaining key areas or assumed that the readers just know some obscure CS topics beforehand. This book does not travel down that road, it is well written, contains both simple and advanced examples and is simply a delightful read.
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No


 
41 of 43 people found the following review helpful:
5.0 out of 5 stars Required for every Compiler Engineer, February 20, 2005
By Jos van Roosmalen (The Netherlands, Europe) - See all my reviews
(REAL NAME)   
This is must read for every compiler engineer.

This book is 800+ pages of theory behind language design and processing of languages.

Altought it is very theoretical, it's very easy to read and well written and a pleasure to read. There are a lot of examples/figures/tables etc to explain things. I recommend people which are totally new to language design/compiler design to first read an introduction text. I can really recommend 'programming language processors in java' from Watt and Brown. This is a really good book.

The title of the book suggest that this book will only cover Language Design. In reality chapter 2, 3,4 and 5 covers in depth resp. Syntax checking (parsing), Names/Scope/Binding, Semantic Analysis and processor architecture.

Beside in depth analysis of language design (e.g. OO-, functional-, imperative- and logical-languages) it gives some practical implementation advice/tips. E.g. there are only a few compilerbooks which seriously talks about the different parsing error recovery techniques. This book explain some different recovery methods. Probably error recovery is not scientific enough for the other books, but for a compiler user error recovery is really important.

A last tip: this book comes in 2 editions: a paperback and hardcover edition. If you want to save some money buy the paperback.
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No


 
37 of 39 people found the following review helpful:
5.0 out of 5 stars Probably the best book in the "Survey of Programming Languages" genre, February 23, 2006
By Andrei Formiga (Joao Pessoa, Brasil) - See all my reviews
(REAL NAME)   
This review is from: Programming Language Pragmatics, Second Edition (Paperback)
Every good programmer should know more than one programming language, that much is almost a consensus. But more than that, every programmer should educate himself about programming languages in general, what they mean and how they work. It's important to know at least the major programming paradigms, because they form the "mental model" of computation that is available to a programmer in a language from that paradigm.

And then it's always illustrative to know about the differences in many common languages, to see where different decisions have been made and what are the consequences. To know that certain legacy languages (e.g. C, Fortran) have features that were not designed because they were the "best" option (for some definition of best), but because the design was constrained by what technology was currently available.

This knowledge is not only required of compiler writers. It should be required of every good programmer. Compiler writers, of course, must know this, and probably in more detail. But Scott's book is a good resource about programming languages, in a level of detail that I believe adequate for all programmers.

There are two main kinds of books on programming languages: they are "survey" and "implementation".

Survey books show how things work in a lot of languages, comparing them along the way. Often the comparison gets down to small details that can affect the meaning, or semantics, of similar programs written in these languages. These books contain one individual chapter for every major topic, and inside such a chapter all languages are compared in relation to the topic. For example, one such chapter covers "subroutines" and then compare a host of different languages on how they implement subroutines.

Implementation books are different: they show how to implement many language features, usually by presenting code for interpreters and compilers. The reader doesn't learn that Ada permits nested subroutines, but instead how nested subroutines really work and how to implement them in a language, for example. A very good book of this kind is "Essentials of Programming Languages" by Friedman, Wand & Haynes.

I normally prefer the implementation books. I'm not really interested if Standard Pascal permits functions to be passed as parameters or not; if I do need to write a Standard Pascal compiler I'll look for a reference manual. I much prefer to know how to implement functions as parameters, and be done with it. Comparing minutiae about extant programming languages can sometimes be very enlightening, and sometimes be mostly dull.

Scott's book, however, really shines because it mixes feature descriptions and implementation details in the presentation. It does the usual routine of comparing a lot of different languages, most of the time the more popular ones like C++ and Java, but it then shows how the implementations differ because of differences in features. The book strikes a good balance between "language design" and "implementation" approaches, although it is clearly slanted towards design, and so more of a traditional "survey" book.

It wins over other survey books by including implementation information about almost every topic, and by the clear writing and style. Also, most survey books concentrate on mainstream imperative languages (nowadays C++, Java, C#) and leave other paradigms to chapters at the end. Scott's book is a bit better in this respect: the presentation often includes Common Lisp, Scheme and Standard ML in the comparisons. There are separate chapters about functional and logic programming too, but considerations about functional programming are spread in the whole book. This is important because paradigms change, and a good programmer must be able to adapt.

It's a good reference for language implementors and good education for most programmers. I look forward to the next editions.
Help other customers find the most helpful reviews  
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

4.0 out of 5 stars Comprehensive Programming Language reference

Well written and organized text with in depth history and explanation for Programming Language Pragmatics.
Published 4 months ago by R. Oneill

5.0 out of 5 stars good book
I am currently using this book for a class in programming semantics. The book is clear in its explanations and diagrams. I also like the additional content on the CD... Read more
Published 6 months ago by Parrish M. Myers

5.0 out of 5 stars a fine text
I have found this book to be useful as a means of becoming familiar with the considerations that one needs to keep in mind when designing programming languages. Read more
Published 8 months ago by zeozod

5.0 out of 5 stars Required Reading for Debugging and Memory Dump Analysis
Every debugging engineer needs to know how the code is interpreted or compiled. Debugging complex problems or doing memory analysis on general-purpose operating systems often... Read more
Published 15 months ago by Dmitry Vostokov

5.0 out of 5 stars Excellent book, but will not do the intended job
I enjoy the book very much. The author gives an over all introduction to the basics of the programming languages. It does not, however, dig deep into any specific area. Read more
Published 17 months ago by Yuanchyuan Sheu

5.0 out of 5 stars Solid introduction to programming language concepts
This book offers a good introduction to basic programming language concepts: scanning/lexical analysis, parsing, semantic analysis, and several other compilation phases. Read more
Published 20 months ago by Ada

3.0 out of 5 stars Good, not recommended for newbies on their own
I bought this book hoping for a thorough yet pragmatic guide to teach myself from scratch how to write the front half or so of a compiler. Read more
Published 20 months ago by Seth Schroeder

5.0 out of 5 stars Incredible knowledge in a fairly small book.
Programming Language Pragmatics 2nd Edition (PLP2e) is a fantastic book that covers a great deal of information. Read more
Published on August 9, 2008 by K. Durocher

4.0 out of 5 stars Very Good Book
Overall, "Programming Language Pragmatics" (PLP) is a very good book. According to the Preface:

"It aims, quite simply, to be the most comprehensive and accurate... Read more
Published on July 20, 2007 by David A. Lessnau

5.0 out of 5 stars Excellent coverage of language concepts
This is among my favorite computer science books. I read the first edition straight through from cover to cover, even though I had some prior knowledge of the subject. Read more
Published on May 3, 2007 by Jason Evans

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.



Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.