Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Programming Language Pragmatics, Third Edition 3rd Edition

4.1 out of 5 stars 28 customer reviews
ISBN-13: 978-0123745149
ISBN-10: 0123745144
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Rent On clicking this link, a new layer will be open
$17.26 On clicking this link, a new layer will be open
Buy used On clicking this link, a new layer will be open
$23.83 On clicking this link, a new layer will be open
More Buying Choices
22 New from $36.34 54 Used from $5.00

There is a newer edition of this item:

Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Windows10ForDummiesVideo
Windows 10 For Dummies Video Training
Get up to speed with Windows 10 with this video training course from For Dummies. Learn more.
click to open popover

Editorial Reviews

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

From the Back Cover

Programming Language Pragmatics is the most comprehensive programming language book 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.

THIRD EDITION FEATURES

  • Covers the most recent developments in programming language design, including Java 6 and 7, C++0X, C# 3.0, F#, Fortran 2003 and 2008, Ada 2005, and Scheme R6RS.

  • Includes a new chapter on run-time program management, covering virtual machines, managed code, just-in-time and dynamic compilation, reflection, binary translation and rewriting, mobile code, sandboxing, and debugging and program analysis tools.

  • Updates the concurrency chapter to address the latest developments in computer architecture and parallel language design, with major new sections on multicore and supercomputer machines, nonblocking synchronization, event-driven programming, memory consistency models, and transactional memory, plus new or updated coverage of OpenMP, Erlang, the pthreads library, and the concurrency features of Java and C#.

  • Improves pedagogy throughout the book, with extensive changes to the introductory chapter and the coverage of scanning and parsing, modules and scoping, macros and in-lining, polymorphism, monads, iteration and enumeration, array management, and object and subroutine closures.

  • Provides additional resources on a companion CD, with advanced/optional content, hundreds of working examples, an active search facility, and live links to manuals, tutorials, compilers, and interpreters on the World Wide Web. CD content is also available on a "companion" site at elsevierdirect dot com / 9780123745149
NO_CONTENT_IN_FEATURE
The latest book club pick from Oprah
"The Underground Railroad" by Colson Whitehead is a magnificent novel chronicling a young slave's adventures as she makes a desperate bid for freedom in the antebellum South. See more

Product Details

  • Paperback: 944 pages
  • Publisher: Morgan Kaufmann; 3rd edition (April 6, 2009)
  • Language: English
  • ISBN-10: 0123745144
  • ISBN-13: 978-0123745149
  • Product Dimensions: 7.5 x 1.9 x 9.2 inches
  • Shipping Weight: 3.4 pounds
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (28 customer reviews)
  • Amazon Best Sellers Rank: #35,044 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Kindle Edition Verified Purchase
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 that accompanies the print version, and (2) that missing CD includes large portions of the book. In March 2011, the publisher posted a responsive comment providing a link to an on-line copy of the material on the CD. Currently, the url is [...] . Given that the missing parts of the book are now available even if one buys the Kindle version, my original complaints about the book are no longer valid. I've kept the original review below just for context, but please note that I now have only good things to say about the book, which is worth reading in its entirety.

ORIGINAL REVIEW from 12/2010 (NOW SUPERSEDED - see above): Michael L. Scott's Programming Language Pragmatics is an excellent book about programming languages, language design, and compilers. Unfortunately, the Kindle edition simply omits large portions of the book. It's a rip-off. If you want the complete book, stick with the print edition. Here's the problem. Starting with the second edition, and continuing with the third edition, parts of the print edition were moved to a companion CD - for example, parts of chapters 2, 3, and 4, and all of chapter 5, are on the companion CD that accompanies the print edition - in order to keep the print edition from being too thick. Unfortunately, in the Kindle edition, they have neither integrated the companion CD into the text, nor provided you with the CD (or its contents) - you simply don't get those portions of the book at all. This is a rip-off - you are paying just as much for the Kindle edition as you would for the print edition, but not getting the entire book. I was looking forward to reading this on my Kindle, having read prior editions in hardcopy, but once I realized that I didn't get the entire book, I had Amazon refund my money and ordered the print edition.
4 Comments 18 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
Whilst the dragon book has become pretty much the go-to book for learning about compilers and language implementation, I found this one be much nicer to read.
I find that some texts expect you to be able to instantly grasp a whole new collection of constructs and keep them all in your head as the author connects their importance together. This book (thankfully) takes a bit more time with the reader and so even though the author took more pages to introduce topics I found myself making progress faster with the material.

Another wonderful thing is the author's knowledge across programming languages is fantastic. Along with many of the techniques are discussions of the pros and cons, the languages that have used them and their effect, within a couple of pages you can see ada, prolog, common lisp & haskell.

I'm only a couple of hundred pages in so far but am loving this book.
If you are interested in language design and implementation this is the book you should go for.
Comment 13 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Kindle Edition Verified Purchase
This review is on the kindle version of the book, and the rating reflects the quality of that particular version. Despite that, the book content is great, and i would recommend getting the hard-copy.

The kindle version is very poorly created. My main issues with it are:
- The index contains no numbers. It is just a list of terms without definitions.
- The example titles (i.e. Example 1.1:....) do not line up with the actual examples. You have to scroll up and down to find them.
- On kindle for PC, the quick contents (available from the left menu) only shows the sections, not the contents. If you want to quickly go to another chapter in the book, you have to go go to the contents section at the start of the book. This is not an issue with kindle software as other books have managed to have better contents.
- Some text as not copied across properly, I see some broken words and formatting issues.
- You cannot copy and paste from this book if you are outside the US. This is a limitation placed on us by the publisher.
- This may be an issue with kindle for PC, or the indexing of the book, but the search feature does not allow for partial matches of words. i.e. a search for scope will not match scopes.
- This is an issue with kindle for PC, and is not factored in my judgement of the book, but I should warn buyers that kindle for PC has a character limit on search (3 characters minimum). This prevents you for searching for uses of operators in programming books.

I don't really have anything positive to say for the kindle version of this book. Because of the above issues I always fall back on a PDF version of an earlier edition of this book that i have. It is essentially a waste of money for me.
4 Comments 42 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
The authors and publishers here must not have heard that when you write one of the best texts on the market in a subject area, at nearly 1,000 pages, you're supposed to hose students and shoppers with the price! THANK YOU for CARING about our budgets!

As other reviewers have stated, this is NOT a beginner's book, as it assumes you know the basics of programming paradigms and structures. HOWEVER, if you know coding relatively well in at least one language, and understand the basics of compilers and machine-code interfaces, you CAN PROFIT GREATLY from this text with Wiki close at hand. For example, want to explore how name binding and scope differ between imperative and functional? This will give you the answers, but you'll need to re-study the concepts themselves to follow the logic, as the descriptions are both broad ranging and detailed.

We recommend this text to technical libraries along with two others: Engineering a Compiler, Second Edition and Programming Language Processors in Java: Compilers and Interpreters. Why? Because the ACADEMIC approach to this topic is almost always functional (read: Lisp, Scheme, Racket, Clojure, etc.) because those languages, although tough, make great IDE's/SDK's for creating an entire development environment, from machine language to compiler/interpreter, all virtual.

I'm into it and love Lisp, but if you then mention the word "practical" you and I both know that we're not going to be asked to solve a problem in Racket, even though we might model it there!
Read more ›
Comment 13 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews