Cooking with Lisp

Another blog about Lisp, the world's greatest programming language.

Thursday, June 03, 2004

Have We Learned Anything in 34 Years?

I was reading Robert W. Floyd's 1978 Turing Award Lecture, hosted by Markus Fix here, and he has a great quote about Lisp:
I have seen numerous examples of the programming power which Lisp programmers obtain from having a single data structure, which is also used as a uniform syntactic structure for all the functions and operations which appear in programs, with the capability to manipulate programs as data. Although my own previous enthusiasm has been for syntactically rich languages like the Algol family, I now see clearly and concretely the force of Minsky's 1970 Turing lecture, in which he argued that Lisp's uniformity of structure and power of self reference gave the programmer capabilities whose content was well worth the sacrifice of visual form.

So I tracked down Marvin Minsky's 1970 Turing Award Lecture and he had these things to say:
languages are getting so they have too much syntax
[a parenthetical syntax - Glenn] has important advantages for editing, interpreting, and for creation of programs by other programs [emphasis Marvin Minsky]. The complete syntax of LISP can be learned in an hour or so; the interpreter is compact and not exceedingly complicated, and students often can answer questions about the system by reading the interpreter program itself. Of course, this will not answer all questions about a real, practical implementation, but neither would any feasible set of syntax rules. Furthermore, despite the language's clumsiness, many frontier workers consider it to have outstanding expressive power. Nearly all work on procedures that solve problems by building and modifying hypotheses have been written in this or related languages. Unfortunately, language designers are generally unfamiliar with this area, and tend to dismiss it as a specialized body of "symbol-manipulation techniques."
In the 34 years since Minksy wrote this, has anything changed? I actually think things have gotten worse. Remember, back in 1970, they didn't have C, C++, Java, C#, or Perl.


At 6:01 PM, Blogger don Lucio said...

You are right, things have gotten worse at least what LISP is concerned. I love LISP as much as you do and 100% agree with Minsky's view on LISP. But I feel that the currently established Common LISP is far away from that ideal of simplicity and purity. That is why the younger generation adopts languages like Perl, Python Java etc. for expressing their programming ideas. (Perl and specially Python displaying a lot of LISP spirit).

It is not the lack of new ideas to reinvent/rediscover LISP, but the established (Common) LISP community ignoring/opposing/fighting everything not Common LISP (or at least SCHEME).

The old bad habit of not wanting to change ... and change is exactly what LISP is (should) be good at: a simple paradigm to express programs and data structures, able to adapt to changing times and requirements.

At 12:21 PM, Blogger offby1 said...

responding to don lucio:

I assume that "the currently established Common LISP is far away from that ideal of simplicity and purity" is one of the reasons Paul Graham is working on arc.


Post a Comment

<< Home