🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #3158

Re: The powerlessness of Lisp

#3158
From: Dan Bernstein
Date: Mon, 25 Mar 1991 16:10
62 lines
3503 bytes
In article <1991Mar21.155528.6068@linus.mitre.org> john@mingus.mitre.org (John D. Burger) writes:
> brnstnd@kramden.acf.nyu.edu (Dan Bernstein) writes:
>     [in response to my description of some complex and fast Lisp programs]
>   Wow. So you have a naturally complex but short-running program. I
>   admit such programs exist. They are not the mainstream, at least not
>   in systems programming and numerical programming.
> What does "short-running" mean?

What I meant was that the program doesn't run for a significant amount
of time. (This obviously implies that the run time of the program
doesn't matter, so inefficient code is reasonable.) ``Short'' and
``significant'' are subjective, of course, and depend on the situation
at hand.

I claim that run time is, overall, a significant percentage of
turnaround time during the development and maintenance of most programs.
Since programs in Lisp are often several times slower than the same
programs in C, Lisp significantly slows down program development, all
else being equal.

So it's not worth programming in Lisp unless all else is not equal---i.e.,
unless Lisp significantly reduces the number of test runs, or the pain of
maintenance. See below.

>   Be serious. Pointers (a.k.a. addresses) have been in every machine
>   language at least since 1960.
> So have conditional jumps.  What's the point?  If you want to program
> in machine language, do it.

But almost everything that people do with jumps can be expressed with
if/loop/break---and the exceptions or perceived exceptions have been
enough to keep an unstructured jump in every popular language.

In contrast, people want to do things with memory that they can't do in
Lisp. C *is* more powerful than Lisp in this respect.

> I don't want to have to know about the underlying architecture, and
> you seem to want to program at that level, which explains why you like
> Machine Independent Machine Language (aka C).

I don't want to have to know about the underlying architecture either.
I'm glad that C provides a powerful yet portable model of almost all
existing hardware architectures. It's a shame that Lisp doesn't.

  [ returning to... ]
>   As someone who has worked in a C shop in another life, building
>   business applications, I can say that there's no comparison between
>   the two [C and Lisp] with respect to development time or
>   maintainability of code. 

That's not objective. Where are the examples? Where are the brilliant
rewrites of statically typed code into dynamically typed code of a
fraction of the length? Every example people give seems to depend almost
entirely on the strength of available libraries. I'm all in favor of
good libraries, but what does that have to do with dynamic typing?
To return to my favorite example along these lines: Perhaps 1% of the
GNU Emacs code is responsible for implementing dynamic typing in C; if
it were all written in Lisp instead, it'd be about 99% of the original
length. Where are the savings?

---Dan
De syntactic gustibus non disputandum est.
Technical Details
Message-ID: <16521:Mar2516:10:0791@kramden.acf.nyu.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd
References: <1991Mar21.155528.6068@linus.mitre.org>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd
From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein)
Newsgroups: comp.lang.misc
Subject: Re: The powerlessness of Lisp
Message-ID: <16521:Mar2516:10:0791@kramden.acf.nyu.edu>
Date: 25 Mar 91 16:10:07 GMT
References: <1991Mar21.155528.6068@linus.mitre.org>
Organization: IR
Lines: 62