| Price Comparisons: New & Used | Half.com (Marketplace) Select | $13.50 as of 11/21 11pm EST | Used | NO, $3.49 to $3.99 | Get $5 off a $50+ purchase. | SAVEONBOOKS09 | New Users ONLY | | Amazon (Marketplace) Select | $14.68 as of 11/21 11pm EST | Used | NO, $3.99 | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Half.com (Marketplace) Select | $20.00 as of 11/21 11pm EST | New | NO, $3.49 to $3.99 | Get $5 off a $50+ purchase. | SAVEONBOOKS09 | New Users ONLY | | Amazon (Marketplace) Select | $29.00 as of 11/21 11pm EST | New | NO, $3.99 | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Textbooks.com Select | $35.25 as of 11/21 11pm EST | Used | YES, spend $25+ | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Textbooks.com Select | $42.50 as of 11/21 11pm EST | New | YES, spend $25+ | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Price Comparisons: New Only | Half.com (Marketplace) Select | $20.00 as of 11/21 11pm EST | New | NO, $3.49 to $3.99 | Get $5 off a $50+ purchase. | SAVEONBOOKS09 | New Users ONLY | | Amazon (Marketplace) Select | $29.00 as of 11/21 11pm EST | New | NO, $3.99 | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Textbooks.com Select | $42.50 as of 11/21 11pm EST | New | YES, spend $25+ | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Price Comparisons: Used Only | Half.com (Marketplace) Select | $13.50 as of 11/21 11pm EST | Used | NO, $3.49 to $3.99 | Get $5 off a $50+ purchase. | SAVEONBOOKS09 | New Users ONLY | | Amazon (Marketplace) Select | $14.68 as of 11/21 11pm EST | Used | NO, $3.99 | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Textbooks.com Select | $35.25 as of 11/21 11pm EST | Used | YES, spend $25+ | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Price Comparisons: Rental | Chegg Select | $11.92 as of 11/21 11pm EST | Summer Rental (60 days) | NO, $3.99 | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Chegg Select | $12.70 as of 11/21 11pm EST | Quarter Rental (85 days) | NO, $3.99 | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Chegg Select | $13.49 as of 11/21 11pm EST | Semester Rental (125 days) | NO, $3.99 | There are no current coupons/deals for this store in our database. If you find one, please contact us. | Summaries and Customer Reviews are supplied by Amazon.com | 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. | Average Customer Rating: Do not want. I guess I'm in the minority, but I really hated this textbook. I took a course that used it, and I constantly found myself going to the library or the internet trying to figure out what it was talking about. Even worse, nearly every single other source I ever found explained things better than this book.
This book often "explains" rather complex ideas using nothing but a couple sentences followed by a single example with no further comment. But then, it will go on and on endlessly listing the rules of a huge set of old programming languages with respect to the concept in question. For example, it does things like have 3 pages that essentially just list all the languages that use deep binding or something like that, in full-sentence form so it takes up even more space, but not adding any more information than a point-form list or a chart of languages at the end of the book would. (I would get a quote, but I just sold the book.) This sort of thing would be a great way to explain concepts if you were familiar with every programming language in existence, or if they were actually talking about the use of certain concepts in these languages in more depth. But the way they do it is essentially a long and inefficient list, which is a huge useless waste of space. If you really want to know whether Pascal or Ada or COBOL uses static binding, and don't need any more information than that, you can go look it up, you don't need a textbook for it (but you can't actually look it up in THIS book, since, again, this information is buried in long rambling full-sentence paragraph-form rather than in an appendix or something like it belongs...). 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 requires understanding the syntax and semantics of several programming languages and their run-time support. The knowledge of optimization techniques is also important for low-level debugging when the source code is not available. The following book provides an overview of all important concepts and discusses almost 50 languages. I read the first edition 6 years ago and I liked it so much that I'm now reading the third edition from cover to cover.
Thanks, Dmitry Vostokov Founder of DumpAnalysis Portal Editor-in-Chief of Debugged! MZ/PE magazine 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. 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. 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. It covers functional languages as well. It's easy to follow too. 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. I don't recommend this book for that intent. It's just too high level to be the sole source of instruction.
Chapter two dedicates 9-10 pages for scanning. I'm not looking for endless checklists of minutia, but in that 10 pages why spend time on optimizing a DFA? Is that pragmatic?
About 30 pages of chapter two are spent on parsing, and a decent chunk of that is used for figures. To me that speaks of a text intended to accompany an oral presentation. I have no access to such a lecture -- just the book.
The rest of the book covers many many subjects. I look forward to using Programming Language Pragmatics as a reference in the future. But not for teaching oneself to write the front half of a compiler. | |