Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Wed, 13 Aug 2003
Lisp 2003 = Lisp 1982
When I worked at Taligent and Apple in the mid 90's, there was a T-shirt that you'd see a lot. It said "Windows 95 = Macintosh 89". And it was true. Unfortunately, it was also true (but never spoken) that "Macintosh 95 = Macintosh 89". Fortunately (mostly) for Macintosh users, that's no longer true -- the Macintosh platform is growing and evolving, at least in a technical sense.
Lisp is largely in the same place, except that the time period is longer. This post was prompted by Philip Greenspun's post "What do they do at the Lisp Conference?" and to a lesser extent by a pointer to the Symbolics Museum. Now, I've been posting away about the virtues of Lisp and Lisp like languages in an effort to educate folks about what Lisp can do. But I certainly don't think that there's no room for advancement. So it was a little disturbing to read this
[01:12] |
[computers/programming/lisp] |
# |
TB |
F |
G |
4 Comments |
Could he be right? Is old-style Common Lisp or Scheme actually the best that we can do?in Greenspun's post. Not because Greenspun believes it, but because I think a lot of people in the Lisp community appear to believe it. It's not enough to say Python/Ruby/C#/Java 2003 = Lisp 1982.
I don't like the analogy with medicine. Programmers aren't (typically) emergency room surgeons, they're playing God in a small way (Imagine the design arguments that went into the Creation. I wonder who got fired over the failure of the dinosoaur project? Do you think that was a RUP project?), over systems that have well defined characteristics, or are at least deterministic.
Posted by Gordon Weakliem at Wed Aug 13 17:31:44 2003
Posted by Gordon Weakliem at Wed Aug 13 17:31:44 2003
Which parts of lisp actually need improvement do you think?
Posted by Glen Stampoultzis at Wed Aug 13 19:56:16 2003
Posted by Glen Stampoultzis at Wed Aug 13 19:56:16 2003
Glen,
The short list would be:
module systems
optional typing tools and type inference
modern ide support
integrated persistence
concurrency constructs
security models
linearity and resource management
macro systems
uniform and standardized libraries
Posted by Ted Leung at Thu Aug 14 01:50:58 2003
The short list would be:
module systems
optional typing tools and type inference
modern ide support
integrated persistence
concurrency constructs
security models
linearity and resource management
macro systems
uniform and standardized libraries
Posted by Ted Leung at Thu Aug 14 01:50:58 2003
The Common Lisp standard could also use extension/repair in some places. The most obvious place is pathnames, but there are many other rough spots. Built-in classes sequences and streams should be user subclassable in a standardized way.
It's wrong to say Lisp has been standing still, though, since it's only now that most implementations are becoming nearly compliant with the ANSI CL standard. In part this is because lisp was a big language, and only recently have cheap machines become available with enough power and memory to quickly rebuild a lisp implementation.
Posted by Paul Dietz at Sat Apr 3 04:09:23 2004
It's wrong to say Lisp has been standing still, though, since it's only now that most implementations are becoming nearly compliant with the ANSI CL standard. In part this is because lisp was a big language, and only recently have cheap machines become available with enough power and memory to quickly rebuild a lisp implementation.
Posted by Paul Dietz at Sat Apr 3 04:09:23 2004
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk