On Sat, Apr 19, 1997 5:20 PM, John Ousterhout
>Let's take Lisp as an example. I think that Lisp falls somewhere
>between scripting and system programming. Many of you have suggested that
>it is an ideal language for both system programming and scripting, but I
>think that it isn't really very good for either. In fact I suspect that
>this may be why Lisp hasn't been used much for practical programming.
[ ... ]
>Just to short-circuit the discussion that will ensue...
>I'm sure that many of you will argue against these claims ("my new
>version of Scheme is just as fast as C", "Lisp just needs a new garbage
>collector that embodies the latest techniques", "I know someone who
>combined C with Scheme and had no problems at all", etc.). However,
>I've seen a fair amount of evidence on this and the problems far
>outnumber the success stories. Many of the best minds in Computer
>Science have worked on Lisp over the last 30 years, and they haven't
>been able to fix the language so that it could be widely used either
>for system programming or scripting tasks. This says to me that there
>is something fundamentally wrong with the language, at least for these
John -- your explaination is even worse that the original paper!
> In fact I suspect that this may be why Lisp hasn't been used
> much for practical programming.
You throw in assertions like this with no mention of evidence or
a source for this conclusion.
I'm using lisp for practical programming: statistics, graphics,
converting foreign file formats. ( I'm not in comp. sci. -- I'm in the Med
school, so I'm not as interested in the elegant mathematics properties
of Lisp as the fact that it's an excellent tool. ). I know of lots of other
people using it for practical programming, including all of the people
doing statistics with XLispStat, all of the people writing applications
and utilities in emacs lisp, and all of the people writing AutoCad
What is the basis for statements about lisp not being widely used or about
the failure of Lisp ?
It may be the case that there are more Tcl users than Lisp users, but I
haven't seen even a poor attempt at a bad estimate made. Just the
assertion that Tcl is a success and Lisp is a failure.
How would you attempt to make such an estimate ?
Number of downloads of software:
Well, there are many download sites for Tcl. There are not only
many download sites for lisp, there are many different implementations
and there are also several different commercial implementations.
And how do you rate embedded products. Many people get lisp in
autocad or emacs, but only a minority of users ever program it. How
does that count. Same problem with Tcl applications.
Size and number of postings to usenet groups:
Not reliable. Since there are more Lisp books and it's been around much
longer, maybe there aren't as many people asking questions on usenet.
It may not be a valid sample.
Number of books and articles published.
Lisp has the edge here. Tcl may be gaining. But it's still an
There are sample and coverage problems with surveys. The few
large scale surveys I've seen, neither Lisp nor Tcl register as blips.
They are burried in the "Other" catagory. Real use may be better,
as the coverage of some of those surveys would seem to be weighted
towards larger ( more conservative?) organizations.
If you have some evidence, then give it to us! [ I wish academic
Comp. Sci. were more interested in some practical basic questions
like that, but it's not an exciting project, and nobody is interested
in funding it. The same goes for some cross-language productivity
studies larger than making a button. These are things that would
take a lot of work, would have a clear scientific benefit, and are
totally boring and unsexy research. ]
Even if we do accept it likely that there are more Tcl than Lisp users:
 Is this a long term trend ? Computer Languages seem to follow
the same sort of trends and psychology that's been documented for
other technologies. There are early adopters who are looking for
novelty, and there are the belt-and-suspenders crowd who will avoid
anything until it's time tested and proven. It's likely that there is
a temporal pattern, and that Tcl is riding the crest, while Lisp is
at a steady state. When Tcl settles to it steady state, will it still
have a large volume of users ? The novelty seekers may be onto
 Whatever the comparative volume for Lisp and Tcl, they are
both clearly fighting it out with two dozen other languages for the
"other" category, left over after Cobol, Fortran, C, C++, Basic,
and now probably Smalltalk and Java. If you are arguing success
by popularity, you're on pretty shakey and not statistically significant
I do think that Tcl has done several things right, and that Lisp
has done several things wrong.
But after nearly 40 years, we can say without much doubt that
Lisp has been one of the great intellectual successes in computer
languages. Like - what was it, Algol 60 that this was said about ? -
It's a great improvement over most of it's successors.
It would be unfair for me to ask where will Tcl be in 4o years.
I don't think that is the proper standard to apply. We're not
interested in posterity, but in practical tools now. But, I likewise
feel that judging Lisp by how many millionaries it may or may
not have created, compared to Basic or Unix is not the proper
standard for success or failure. Lisp has been a success as an
idea and it's been a success as a tool, and it's got a more solid
track record in that regard than Tcl. I think there *was* a good
idea in that paper trying to get out, but this sort of thing does
more damage to your argument by undermining your credibility.
I believe its more due to carelessness than to maliciousness,
but "careless with the truth" does not sound very complimentary.
- Steve Majewski
I've used Tcl, and I can attest:
"The problems outnumber the success stories."