or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $16.00 Gift Card
Trade in
Kindle Edition
Read instantly on your iPad, PC, Mac, Android tablet or Kindle Fire
Buy Price: $25.45
Rent From: $12.88
 
 
 
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Programming Language Pragmatics, Third Edition [Paperback]

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

Buy New
$26.79 & FREE Shipping. Details
Rent
$23.52
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Want it Wednesday, May 29? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
 
Kindle Edition
Rent from
$25.45
$12.88
 
Hardcover --  
Paperback $26.79  
Multimedia CD --  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

April 6, 2009 0123745144 978-0123745149 3
Programming Language Pragmatics is the most comprehensive programming language textbook available today. Taking the perspective that language design and language implementation are tightly interconnected, and that neither can be fully understood in isolation, this critically acclaimed and bestselling book has been thoroughly updated to cover the most recent developments in programming language design. With a new chapter on run-time program management and expanded coverage of concurrency, this new edition provides both students and professionals alike with a solid understanding of the most important issues driving software development today.
  • Classic programming foundations text now updated to familiarize students with the languages they are most likely to encounter in the workforce, including including Java 7, C++, C# 3.0, F#, Fortran 2008, Ada 2005, Scheme R6RS, and Perl 6.
  • New and expanded coverage of concurrency and run-time systems ensures students and professionals understand the most important advances driving software today.
  • Includes over 800 numbered examples to help the reader quickly cross-reference and access content.

Frequently Bought Together

Programming Language Pragmatics, Third Edition + The Little Schemer - 4th Edition
Price for both: $55.38

Buy the selected items together
  • The Little Schemer - 4th Edition $28.59


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

"This book is a key resource for any computer science student and is certainly faithful to its title - Programming Language Pragmatics.. The updated third edition of this popular book delivers the key concepts of programming languages and their implementation in a concise and intuitive way, illustrated with clear explanations and examples.. In addition to the coverage of traditional language topics, Scott's book delves into the sometimes obscure, but essential, details of programming artifacts. The descriptions of language theory, along with concrete implementations of how to realise them, are invariably presented in a language-agnostic fashion. And therein lies the strength of this book: whilst the main examples have been updated (with C and Intel x86 replacing Pascal and MIPS), it provides an organisational framework for learning new languages, irrespective of the paradigm.. Programming Language Pragmatics provides a more accessible introduction to many of the key topics than the classic Compilers: Principles, Techniques and Tools by Aho et al. (a.k.a. the 'Dragon Book') and provides a deep appreciation of the design and implementation issues of modern languages.. The material is aimed at an undergraduate computer science level, but is also suitable for self-study. Topics are often independent of previously presented material, making it easier to pick and choose areas for study. This is also supported by additional in-depth material and advanced discussion topics on the companion CD.. In summary, this new edition provides both students and professionals alike a solid understanding of the most important issues driving software development today - an essential purchase for any serious programmer or computer scientist!"--BCS.com


Product Details

  • Paperback: 944 pages
  • Publisher: Morgan Kaufmann; 3 edition (April 6, 2009)
  • Language: English
  • ISBN-10: 0123745144
  • ISBN-13: 978-0123745149
  • Product Dimensions: 7.5 x 1.6 x 9.2 inches
  • Shipping Weight: 3.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (25 customer reviews)
  • Amazon Best Sellers Rank: #43,716 in Books (See Top 100 in Books)

More About the Author

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

Customer Reviews

Most Helpful Customer Reviews
57 of 58 people found the following review helpful
Format:Hardcover|Amazon Verified Purchase
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.
Was this review helpful to you?
52 of 56 people found the following review helpful
5.0 out of 5 stars Required for every Compiler Engineer February 20, 2005
Format:Paperback
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 | 
Was this review helpful to you?
38 of 41 people found the following review helpful
5.0 out of 5 stars Tough Topic - Crystal Clear Explanation June 3, 2001
Format:Hardcover
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 | 
Was this review helpful to you?
Most Recent Customer Reviews
5.0 out of 5 stars Programming languages exposed.
If you want thoroughly understand computer science then this book is meant for you.
From it you`ll learn almost every aspect of CS that you name.
Published 10 months ago by Andrew
5.0 out of 5 stars For the seasoned developer
I would highly recommend this book for the seasoned developer. The author has a dry sense of humor in writing (to this very dry topic), and much of the language is lost if the... Read more
Published 17 months ago by Deborah Mccain
1.0 out of 5 stars Poor quality kindle version.
This review is on the kindle version of the book, and the rating reflects the quality of that particular version. Read more
Published 18 months ago by gracamac
5.0 out of 5 stars Fantastic programming languages book
This was a really good textbook for a class I took not so long ago. Overall its a fantastic survey book in to programming languages. Read more
Published 19 months ago by Ian
5.0 out of 5 stars Fantastic Book
I'm not sure I can add any more than has already been said about this book. This book makes a the topics of programming language paradigms, design, and compilation very... Read more
Published on March 27, 2011 by Jonathan D. Decarlo
3.0 out of 5 stars From a student's point of view...
I have been using this book along with the Programming Languages class at my college. It does a good job of explaining the topics, but it is just too long-winded for me to actually... Read more
Published on December 19, 2010 by E. Meissen
5.0 out of 5 stars If you buy the Kindle Edition, you can obtain the missing portions of...
UPDATED 3/2011: I had originally posted the review below, complaining that the Kindle version of Programming Language Pragmatics was a rip-off, because (1) you didn't get the CD... Read more
Published on December 10, 2010 by tom
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 on February 23, 2010 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 on December 23, 2009 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 on June 4, 2009 by Dmitry Vostokov
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Forums

Have something you'd like to share about this product?
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Search Customer Discussions
Search all Amazon discussions


So You'd Like to...

Create a guide


Look for Similar Items by Category