Essentials of Programming Languages, 3rd Edition

ebook: Essentials of Programming Languages, 3rd Edition


Publisher: MIT PressPublication: 2008, EnglishISBN: 9780262062794Pages: 416

This book brings you face-to-face with the most fundamental idea in computer programming:

The interpreter for a computer language is just another program. It sounds obvious, doesn’t it? But the implications are profound. If you are a computational theorist, the interpreter idea recalls Gödel’s discovery of the limitations of formal logical systems, Turing’s concept of a universal computer, and von Neumann’s basic notion of the stored-program machine.

If you are a programmer, mastering the idea of an interpreter is a source of great power. It provokes a real shift in mindset, a basic change in the way you think about programming.

I did a lot of programming before I learned about interpreters, and I produced some substantial programs. One of them, for example, was a large data-entry and information-retrieval system written in PL/I. When I implemented my system, I viewed PL/I as a fixed collection of rules established by some unapproachable group of language designers. I saw my job as not to modify these rules, or even to understand them deeply, but rather to pick through the (very) large manual, selecting this or that feature to use. The notion that therewas some underlying structure to the way the language was organized, and that I might want to override some of the language designers’ decisions, never occurred to me. I didn’t know how to create embedded sublanguages to help organize my implementation, so the entire program seemed like a large, complex mosaic, where each piece had to be carefully shaped and fitted into place, rather than a cluster of languages, where the pieces could be flexibly combined. If you don’t understand interpreters, you can still write programs; you can even be a competent programmer. But you can’t be a master.
 




Members who read this also like

0 RATES
97 Things Every Programmer Should Know: Collective Wisdom from the Experts
97 Things Every Programmer Should Know: Collective Wisdom from the Experts
O'Reilly
2010, English
0 RATES
Effective UI: The Art of Building Great User Experience in Software
Effective UI: The Art of Building Great User Experience in Software
O'Reilly
2010, English
0 RATES
Secrets of the JavaScript Ninja
Secrets of the JavaScript Ninja
Manning Publications
2010, English
1179 RATES
How to Think About Algorithms
How to Think About Algorithms
Cambridge University Press
2008, English