See buying choices for this item to see if it's one of the millions that are eligible for Amazon Prime.

34 used & new from $8.59

Have one to sell? Sell yours here
 
 
Programming Language Pragmatics
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Programming Language Pragmatics (Hardcover)

by Michael L. Scott (Author) "The first electronic computers were monstrous contraptions, filling several rooms, consuming as much electricity as a good-size factory, and costing millions of 1940s dollars (but..." (more)
Key Phrases: dynamic semantic error, referencing environment, static method binding, Common Lisp, Review Questions, Niklaus Wirth (more...)
4.8 out of 5 stars See all reviews (22 customer reviews)


Available from these sellers.


9 new from $29.97 25 used from $8.59
Also Available in: List Price: Our Price: Other Offers:
Paperback (3) $74.95 $62.79 34 used & new from $53.15

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.

Review
"Michael Scott's book could have been entitled: Why Programming Languages Work. It takes a fresh look at programming languages by bringing together ideas and techniques usually covered in disparate language design, compiler, computer architecture, and operating system courses. Its comprehensive and integrated presentation of language design and implementation illustrates and explains admirably the many deep and profitable connections among these fields."
—Jim Larus, Microsoft Research

"This book is the best and most complete
on this topic that I've seen until now."


—Klaus Ostermann, Darmstadt University of Technology -- Review

See all Editorial Reviews


Product Details

  • Hardcover: 856 pages
  • Publisher: Morgan Kaufmann; 1st edition (January 15, 2000)
  • Language: English
  • ISBN-10: 1558604421
  • ISBN-13: 978-1558604421
  • Product Dimensions: 9.1 x 7.4 x 1.6 inches
  • Shipping Weight: 3.2 pounds
  • Average Customer Review: 4.8 out of 5 stars See all reviews (22 customer reviews)
  • Amazon.com Sales Rank: #516,944 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #41 in  Books > Computers & Internet > Programming > Languages & Tools > Compilers

Inside This Book (learn more)




What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(1)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

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

 
35 of 36 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.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
26 of 26 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)   
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.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
27 of 28 people found the following review helpful:
5.0 out of 5 stars Tough Topic - Crystal Clear Explanation, June 3, 2001
I have always enjoyed reading programming-language and compiler books and most of them are quite tough on a first-read.

Programming Language Pragmatics is one huge exception. None of the books I have read come close to the clarity that this book exhibits. On many occassions, the choice of words and presentation in this book has made me go 'Wow, I thought I already knew this stuff...'

Besides core topics, it has interesting discussion like concurrency, data-abstraction (object-oriented) and non-imperative programming models (functional and logic).

TOC (with my comments)

Ch. 1 Introduction

Ch. 2 Programming Language Syntax (theory of Regular Expression, Context-Free Grammars, Automata etc)

Ch. 3 Names, Scopes, and Bindings (binding, scope rules, closures etc)

Ch. 4 Semantic Analysis (attribute grammars, attribute flow, syntax tree etc)

Ch. 5 Assembly-Level Computer Architecture (keeping the pipeline full, register allocation etc)

Ch. 6 Control Flow

(expression evaluation, iteration, recursion, nondeterminacy etc)

Ch. 7 Data Types (type checking, pointers and recursive types etc)

Ch. 8 Subroutines and Control Abstraction (stack layout, calling sequences, parameter passing etc)

Ch. 9 Building a Runnable Program (back-end compiler structure, intermediate forms etc)

Ch. 10 Data Abstraction and Object Orientation (encapsulation, inheritance, dynamic method binding, multiple inheritance, the object model of smalltalk)

Ch. 11 Nonimperative Programming Models: Functional and Logic Languages

Ch. 12 Concurrency (shared memory, message passing etc)

Ch. 13 Code Improvement (peephole, redundancy elimination, data flow analysis, loop improvement, instruction scheduling, register allocation etc)

App. A Programming Languages Mentioned

App. B Language Design and Language Implementation

This is a very impressive book; truly one of my best investments in books so far.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


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

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 1 month 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 3 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 6 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 6 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 11 months ago 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 24 months ago 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

5.0 out of 5 stars Great book.
As a software engineer, I tend to be picky about my books, but this one is very in depth and a good read. Read more
Published on November 9, 2006 by Aaron Bryson

5.0 out of 5 stars Probably the best book in the "Survey of Programming Languages" genre
Every good programmer should know more than one programming language, that much is almost a consensus. Read more
Published on February 23, 2006 by Andrei Formiga

4.0 out of 5 stars Not just for compiler developers. A little too much RISC
I agree that every compiler writer (not engineer: programming is a cruelly difficult writing *sui generis*, not engineering) needs this book but its market is or should be much... Read more
Published on February 26, 2005 by Edward G. Nilges

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

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


Active discussions in related forums
  Discussion Replies Latest Post
What is your FAVORITE Software Development book? 2 6 hours ago
C# or Java? 32 12 days ago
   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Get Within Reach

Shop for extension cords

Expand your power options with an extension cord. Get the cord type, indoor or outdoor, in the length you need in Lighting & Electrical.

Shop all extension cords

 

Best Books of 2008

Best of 2008
Find our top 100 editors' picks as well as customers' favorites in dozens of categories in our Best Books of 2008 Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Best Books

Best of the Month
See our editors' picks and more of the best new books on our Best of the Month page.
 
Ad

 

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.



Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

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

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates