Send As SMS

Wednesday, December 06, 2006

The Structure and Interpretation of Computer Programs

Way back in the olden days before microcomputers were programmed in languages like Java, C# and C++, there were a thousand languages, each expressing an aspect of the Tao. But one language, LISP, has a special place in the history and development of software. LISP was a mind-bendingly flexible tool, allowing developers great flexibility in representing problems. Somewhere in the early 1980's software started becoming less about solving problems and more about looking good for consumers. The ability to elegantly represent data relationships took a back seat to how quickly it could be used to crank out the next version of QuatroPro or Unix.

But LISP remains the "programming language of the Gods." If you understand what's going on inside a LISP interpreter and how the language is used to solve problems, then you're well on your way to understanding the representation of data and process flow in the most abstract way. If you can grok LISP, there's very little that should confuse you about Java and C#.

Fortunately for us mortals, the good people at MIT have made the video of that university's intro programming course available on the web. So if you're interested in learning LISP, there are few better resources online than MIT's Structure and Interpretation of Computer Programs lecture series featuring Hal Abelson and Gerald Jay Sussman. They have also made the accompanying text available for free download as well ( at http://mitpress.mit.edu/sicp/full-text/book/book.html. )

0 Comments:

Post a Comment

<< Home