[plt-scheme] Re: Change the World

From: Richard Cobbe (cobbe at ccs.neu.edu)
Date: Tue Mar 22 08:46:44 EST 2005

On Tue, Mar 22, 2005 at 10:25:27AM -0300, Pedro Kr?ger wrote:
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> Geoffrey Knauth <geoff at knauth.org> writes:
> > Speaking of art, I wonder why Knuth has stayed away from Lisp.  
> I have wandering this too. anyone have an idea?

Only in generalities.  Many years ago, I read an interview with Knuth in
which he was reacting to the growing trend of safe languages [1].  I don't
have a reference, and I'm basing this only on very faint recollection,
but it's possible that this article came out in '95-'96, when Java had
just hit the scene.

In any case, I do remember pretty clearly that Knuth didn't think there
was any need for those kinds of languages as long as programmers were
good enough.  He claimed that he doesn't need the additional error
protection in languages like Java, because he simply doesn't make those
kinds of errors when he programs.

Obvious questions:

  - Is he confusing safety with bondage-and-discipline?

  - Why does he feel that he doesn't make those kinds of errors?  If he
    knows that he doesn't because, say, he's scrupulous about checking
    his array indices before every reference, then why does he feel that
    it's important for the programmer to do this explicitly, rather than
    leaving it up to the language?

I also think he has a deep distrust of anything that separates him from
the raw machine, for reasons I don't fully understand.  (This is based
not on the interview I describe above but rather other stuff of his that
I've read.)  This might explain why he doesn't see the need for the kind
of abstraction mechanisms that higher-level languages provide.  This, in
turn, might explain why the languages that he's designed don't provide
very good abstraction mechanisms: TeX macros just don't cut it.

[1] Or, to be pedantic, languages that attempt to be safe, with varying
degrees of success.


Posted on the users mailing list.