On Jul 27, 2009, at 6:30 PM, Benjamin L.Russell wrote:
Incidentally, just for the record, in response to my forwarding your
claim, Alan Kay, the inventor of Smalltalk, just refuted your
refutation [1] (see
http://lists.squeakfoundation.org/pipermail/beginners/2009-July/006331.html) ;
_viz._:

If you read carefully what he wrote there,
it doesn't actually contradict what I said.
(For what it's worth, I _have_ read a good deal of
Alan Kay's writings.)

Molecular biology may very well have been an influence
on >Alan Kay<, but there are no traces of it in >Smalltalk<.
The concepts of >Smalltalk< have their roots in Lisp,
including the original version using nil as false, and
the meta-circular interpreter.

Sketchpad and Simula also have no trace of biology in them.

As for the claim that Smalltalk had its roots in Lisp,
this is not my opinion.  It's straight from the horse's
mouth.  Visit

http://www.smalltalk.org/smalltalk/TheEarlyHistoryOfSmalltalk_IV.html
whose title is "The first real Smalltalk", and you will read
this paragraph:

"I had orignally made the boast because McCarthy's
 self-describing LISP interpreter was written in itself.
 It was about "a page", and as far as power goes,
 LISP was the whole nine-yards for functional languages.
 I was quite sure I could do the same for object-oriented
 languages plus be able to do a resonable syntax for the
 code a loa some of the FLEX machine techiques."
[Errors in the page.]

So clearly Alan Kay _was_ influenced by Lisp,
and the initial Smalltalk-72 implementation _was_
influenced by the Lisp meta-circular interpreter.

While we're on that page, here are the six core principles:
  1. Everything is an object
     [Where's the biology in that?  Rocks are objects.]
  2. Objects communicate by sending and receiving messages
     (in terms of objects)
     [Where's the biology in that?  Sounds more like the
     telephone system.  And when organisms send messages
     to other organisms, those messages are not themselves
     organisms, although that might make a neat gimmick for
     a science fiction story.]
  3. Objects have their own memory (in terms of objects)
     [Many organisms have memory.  But their memories are
     not themselves organisms.  Again that might make a
     nice science fiction gimmick, and Brin's hydrogen
     breathers in the Uplift series come close.  Not in THIS
     biology though.]
  4. Every object is an instance of a class
     (which must be an object)
     [Maybe here's the biology?  But no, Simula 67 had
     single-inheritance classes, with never a trace of
     biology.  There's certainly no biology-talk in the
     Simula Common Base manual that I can find.  Again, in
     THIS biology, a taxon is not itself an organism,
     so if anything, Smalltalk is contradicting biology.]
  5. The class holds the shared behavior for its instances
     (in the form of objects in a pogram list)
     [Errors in the page.  Where's the biology here?
     Organisms behave, but their behaviour isn't made of
     organisms held in another organism.  Class as site of
     shared behaviour is straight Simula (and of course
     other sources).]
  6. To eval a program list, control is passed to the first
     object and the remainder is treated as its message
     [Does that look like biology to you?]

A PDF of the whole thing is
http://www.smalltalk.org/downloads/papers/SmalltalkHistoryHOPL.pdf

But how important is that paper anyway?
(1) It's by Alan Kay.
(2) It's his official history of Smalltalk.
(3) It actually says on the second page "I will try to show
    where most of the influences come from."

It's true that the abstract speaks of "a more biological
scheme of protected universal cells interacting only through
messages that could mimic any desired behavior", but that's
basically _it_ for biology, if we are to believe Kay, and
even then, "its semantics are a bit like having thousands of
and thousands of comptuers all hooked together by a very fast
network" and "Philosophically, Smalltalk's objects have much
in common with the monads of Leibnitz" (bringing us neatly
back to Haskell (:-)).

We read "The biggest hit for me while at SAIL in late '69 was to
_really understand_ Lisp".

By the way, Haskell programmers should really appreciate
the anecdote on page 13 about programming
        odds_evens x = odds x ++ evens x
          where odds []        = []
                odds (x:xs)    = x : evens xs
                evens (_:x:xs) = x : evens xs
                evens _        = [].
It took him about 5 seconds to do about that way, while it
took Allen Newell "30 minutes to not quite solve".

At any rate, the paper which is supposed to trace "most of
the influences" doesn't link even *one* idea in Smalltalk
to biology.  The influences are other programming languages,
notably Lisp, Simula, and the ever-famous Sketchpad system,
philosophy, programming, computer networks, ...  As for the
"biological" nature of message passing, the paper says (p50)
        "An extemporaneous talk by R. S. Barton at Alta ski
         lodge (1968) about computers as communication
         devices and how everything one does can easily be
         portrayed as sending messages to and from, was the
         real genesis of the current version of SMALLTALK."

Biology?

I repeat, this is not MY interpretation or history.
My claim was solidly based on what Alan Kay himself wrote.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to