Home | Amazing | Today | Publishers | Account | Support
Essentials of Programming Languages, 3rd Edition

Buy
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.

(HTML tags aren't allowed.)

Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages
Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages
Knowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain.

The key is understanding the common patterns found across language
...
97 Things Every Programmer Should Know: Collective Wisdom from the Experts
97 Things Every Programmer Should Know: Collective Wisdom from the Experts

Programmers have a lot on their minds . Programming languages, programming techniques, development environments, coding style, tools, development process, deadlines, meetings, software architecture, design patterns, team dynamics, code, requirements, bugs, code quality. And more. A lot. There is an art, craft, and science to programming that...

Secrets of the JavaScript Ninja
Secrets of the JavaScript Ninja

There is nothing simple about creating effective, cross-browser, JavaScript code. In addition to the normal challenge of writing clean code you have the added complexity of dealing with obtuse browser complexities. To counter-act this JavaScript developers frequently construct some set of common, reusable, functionality in the form of JavaScript...


How to Think About Algorithms
How to Think About Algorithms
There are many algorithm texts that provide lots of well-polished code and proofs of correctness. This book is not one of them. Instead, this book presents insights, notations, and analogies to help the novice describe and think about algorithms like an expert. By looking at both the big picture and easy step-by-step methods for developing...
Algorithms and Programming: Problems and Solutions (Modern Birkhäuser Classics)
Algorithms and Programming: Problems and Solutions (Modern Birkhäuser Classics)
Somebody once said that one may prove the correctness of an algorithm, but not of a program. One of the main goals of this book is to convince the reader that things are not so bad.

A well-known programmer, C.A.R. Hoare, said that the beauty of a program is not an additional benefit but a criterion that separates success from failure.
...
Effective UI: The Art of Building Great User Experience in Software
Effective UI: The Art of Building Great User Experience in Software

People are beginning to demand a higher standard of user experience (UX) quality from the software systems they use in their business and personal lives, and companies are looking to UX to help drive business value and increase brand strength. Effective UI provides a complete roadmap to building groundbreaking software centered on...

©2010 LearnIT (support@pdfchm.net) - Privacy Policy