[Newbies] Re: Smalltalk Data Structures and Algorithms

David Mitchell david.mitchell at gmail.com
Wed Jul 29 14:57:22 UTC 2009


I don't think there is a misunderstanding. There is disagreement. You
don't correct disagreement.

Alan Kay feels his influence was from biology (and other things,
including LISP).

Richard finds flaws in the analogy.

No misunderstanding.



On Wed, Jul 29, 2009 at 12:38 AM, Benjamin L.
Russell<DekuDekuplex at yahoo.com> wrote:
> Below is a message I posted to correct Richard O'Keefe's
> misunderstanding in understanding the significance of biology as one
> of the origins of Smalltalk [1] (see
> http://permalink.gmane.org/gmane.comp.lang.haskell.cafe/61718):
>
>>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._:
>>
>>>I most definitely still think of OOP at its best as being "biological".
>>
>>[1] Kay, Alan. "[Newbies] Re: Smalltalk Data Structures and
>>Algorithms." The Beginners Archives. Squeak.org. 24 July 2009. 27 July
>>2009. <http://lists.squeakfoundation.org/pipermail/beginners/2009-July/006331.html>.
>
> Nevertheless, O'Keefe now still insists that Smalltalk did not
> originate in biology [2] (see
> http://permalink.gmane.org/gmane.comp.lang.haskell.cafe/61749);
> _viz._:
>
> On Tue, 28 Jul 2009 13:35:09 +1200, in gmane.comp.lang.haskell.cafe
> "Richard O'Keefe" <ok at cs.otago.ac.nz> wrote:
>
>>
>>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.
>
> I could continue to try to correct him, but now other members there
> are beginning to question the relevance of the thread to the topic of
> discussion there (Haskell).
>
> Any suggestions on a good way to resolve his misunderstanding?
>
> -- Benjamin L. Russell
>
> [1] Russell, Benjamin L. "Re: [Haskell] Re: 20 years ago."
> gmane.comp.lang.haskell.cafe. Gmane. 27 July 2009. 29 July 2009.
> <http://permalink.gmane.org/gmane.comp.lang.haskell.cafe/61718>.
>
> [2] O'Keefe, Richard. "Re: Re: [Haskell] Re: 20 years ago."
> gmane.comp.lang.haskell.cafe. Gmane. 28 July 2009. 29 July 2009.
> <http://permalink.gmane.org/gmane.comp.lang.haskell.cafe/61749>.
> --
> Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
> http://dekudekuplex.wordpress.com/
> Translator/Interpreter / Mobile:  +011 81 80-3603-6725
> "Furuike ya, kawazu tobikomu mizu no oto."
> -- Matsuo Basho^
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>


More information about the Beginners mailing list