Levi's Lisp Log

Thoughts and links relating to Lisp and computer theory

Fundamental Idea of Programming

According to Hal Abelson in his foreword to the book Essentials of Programming Languages, the most fundamental idea in computer programming is this:

The interpreter for a computer language is just another program.

On the face of it, this seems not to apply to compiled languages, or programs written in machine code. But, upon reflection, it does. The interpreter for these languages is the microcode on the CPU, and the interpreter for the microcode is a logic program expressed in physical transistors.

In any case, the concept of an interpreter program is a powerful one, and is certainly worth study and mastery. As Sussman says, you will become "a designer of languages rather than only a user of languages, [ . . . ] a person who chooses the rules by which languages are put together, rather than only a follower of rules that other people have chosen."

# Posted by: Levi at 7:25 PM on Thursday, October 27, 2005
   Comments: (2) Categories: Programming

Comments

Post a Comment
I used EoPL for a class taught by Dan Friedman. The class was wonderful,except that I remember spending every friday night working on an interpreter, trying to get it done before the midnight deadline. We had an "I survived 511 t-shirt." It was a recursive t-shirt. Levi, thanks for posting all of the programming language theory posts.
Comment by: Chuck at 9:39 PM on Friday, November 4, 2005
I had a class that used EoPL, too, which is how I had the book handy to grab the quote. Pretty cool class, though I didn't appreciate it as much at the time as I do now. Lately I've been helping a couple of friends who are in it now, which has brought back memories. Unfortunately, I don't think they're appreciating it much, either, despite my insistence that it's really incredibly cool and important stuff.
Comment by: Levi at 2:04 PM on Tuesday, November 8, 2005

Post a Comment

Name:
Email:
URL:
What is the square root of 4?:
Comment: