|
|||||||||||||||||||||||||||||||||||
|
24 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
51 of 52 people found the following review helpful:
5.0 out of 5 stars
Outstanding introduction to programming languages and their compilers,
By
Amazon Verified Purchase(What's this?)
This review is from: Programming Language Pragmatics (Hardcover)
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.
47 of 50 people found the following review helpful:
5.0 out of 5 stars
Required for every Compiler Engineer,
By
This review is from: Programming Language Pragmatics (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.
34 of 35 people found the following review helpful:
5.0 out of 5 stars
Tough Topic - Crystal Clear Explanation,
By Cher-Wah Tan (Texas, SA USA) - See all my reviews
This review is from: Programming Language Pragmatics (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.
23 of 24 people found the following review helpful:
5.0 out of 5 stars
Surprisingly thorough,
This review is from: Programming Language Pragmatics (Hardcover)
As the subject suggests, I was surprised to discover how thorough this book really is; many others might claim they cover many languages, but this one really does. On top of that, it uses language easily understood outside of the academia.On the flipside, however, I doubt you will get much out of this book if you have not explored several different programming languages already. Without a bit of experience in the covered topics you will probably not find the book to be very useful, however. It does not contain any tutorials on the languages it covers, nor does it really go into any depth on many of the features it describes. Its descriptions are very concise, making for a hard read if you dont have an inkling of what he is talking about already.
11 of 11 people found the following review helpful:
5.0 out of 5 stars
If you buy the Kindle Edition, you can obtain the missing portions of the book online.,
By tom8675309 (the East Coast) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: Programming Language Pragmatics, Third Edition (Kindle Edition)
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.
20 of 23 people found the following review helpful:
5.0 out of 5 stars
A magnificent achievement--a bedrock of knowledge, for life,
By A Customer
This review is from: Programming Language Pragmatics (Hardcover)
I am in the process of reading this book for a review and already I am compelled (at the conclusion of chp. 7 of 13) to write a glowing review. This book truly is an achievement and it lives up to my predecessor's comments. I hasten to emphasize that this textbook combines form and content to a very high degree: it is written superbly with great clarity, the topics are organized extremely well and meaningfully, and finally it provides a comprehensive overview of all aspects of programming. In the course of my reading, I have never felt the need to skip sections; there are no sections that are abstruse or cursorily covered. All sections are integrated with the others and each section offers very useful knowledge. The author clearly displays a profound understanding of all aspects of his endeavor. I must emphasize that in the vast majority of cases with textbooks, in any academic area, the impression is that the author has intimate knowledge of 60% of the material he covers, and as for the latter 40% of the material he has at best good knowledge or passing familiarity but is able to speak on these topics because of his qualifications. The greatest merit of this book is that one can very profitably go through a self-study programme through all 13 chapters and come away much superior to one's peers in college or graduate school or industry (I qualify this statement at present: I have read only 7 chapters yet, but intend to read all 13). Finally, if you are familiar with the excellent book on Computer Architecture by Patterson and Hennesy, then I say that this book is on level par with that venerable textbook.
6 of 6 people found the following review helpful:
5.0 out of 5 stars
Excellent book and looking forward for the next edition,
By Jeff (Pleasanton, CA United States) - See all my reviews
This review is from: Programming Language Pragmatics (Hardcover)
This is a very high quality text/reference book. I feel that I have my money and time well spent. The author's writing style is precise yet accessible. And his model and mindset about explaining programming languge design has been consitent all through -- always about the intricate relations and interactions among those three facets in a language design (syntactic, semantic and pragmatic). This treatment of the subject, in my view, reflects real dynamics of language design, and also makes the text more pratically useful for readers while laying out solid conceptual fundation at the same time. I am looking forward for the next edition, which I am sure that author will include discussion of more recent language examples like C# and XML.
11 of 13 people found the following review helpful:
5.0 out of 5 stars
The best book to learn computer language fundamentals,
By sameer borate (Pune, India) - See all my reviews
This review is from: Programming Language Pragmatics (Hardcover)
Scott is a marvelous teacher. The book covers everything from language syntax to functional programming with ease and depth. The study of programming languages though skipped by most programmers is an essential element if you want to be a better programmer.
The exercises given at the end of chapters are excellent and will reinforce your understanding. At a time when programming languages are proliferating at an amazing rate, it is essential you know how to compare the various aspects of different languages and choose the one most suitable for your work. Studying this will help you in that endeavour. Get this book, but better read it.
8 of 9 people found the following review helpful:
5.0 out of 5 stars
Great book: well written, covers a lot, and up-to-date,
By Stict Evaluation (right here, in Jersey.) - See all my reviews
This review is from: Programming Language Pragmatics (Hardcover)
Not much to add ot the title line: it's a great book. The writing is clear, an awful lot of material is covered, and it is very up-to-date. For example, I liked a few sections on object-oriented languages. It's got pretty good explanations of the implementation internals of those. Which is rare, I'd say. Appel has something like that, but his books are barely readable, so again, this one is very helpful
3 of 3 people found the following review helpful:
5.0 out of 5 stars
Excellent book, but will not do the intended job,
By
This review is from: Programming Language Pragmatics (Hardcover)
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. To master in a specialized subject, one will have to seek help from other books.
As the author has stated, to learn all the subjects the book is covering, one will have to spend years (taking different courses in computer science). This book has include all the material to give an overall view of the big picture and the students are suppose to learn the material in 2 semesters. I personally tend to think that the book is better suited for the experienced programmer for the reviewing purposes. Students that never have real world experience probably will feel the book to be very dry. |
|
Most Helpful First | Newest First
|
|
Programming Language Pragmatics by Michael Lee Scott (Hardcover - October 25, 1999)
Used & New from: $9.62
| ||