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...
Every good programmer should know more than one programming language, that much is almost a consensus. But more than that, every programmer should educate himself about programming languages in general, what they mean and how they work. It's important to know at least the major programming paradigms, because they form the "mental model" of computation that is available to a programmer in a language from that paradigm.
And then it's always illustrative to know about the differences in many common languages, to see where different decisions have been made and what are the consequences. To know that certain legacy languages (e.g. C, Fortran) have features that were not designed because they were the "best" option (for some definition of best), but because the design was constrained by what technology was currently available.
This knowledge is not only required of compiler writers. It should be required of every good programmer. Compiler writers, of course, must know...
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...
The authorised South African distributor of this product is under no obligation to honour the manufacture's guarantees/warranties or to provide after-sales service.
Please note that this item is imported from the USA, and is designed to be used in the USA. In addition, if the unit is powered it will come with a US plug and an adapter/transformer may be required. Please click here for more information on power requirements, or check with us if you are unsure or need any assistance!
Please also note that certain items cannot be imported, these include Alcohol, Animals, Batteries, Flammable Materials, Currency, Food, Furs, Chemicals, Explosives, Medications, Plants, Seeds, Supplements, Pressurized Cans, Tactical Equipment, Vitamins, Weaponry and Weaponry Accessories. In these cases, the item and information is displayed for reference purposes only. If you are not sure if we are permitted to bring an item, please send us an e-mail with a link to the item to confirm.
Please also ensure that you are ordering the correct item for your particular application as returns to the USA are costly. Product reviews are also provided for most of our items, which can give you a good idea for possible things to look out for and the quality of the item. By clicking Add to Cart, you are confirming that the item is correct and you accept the conditions listed here.