[Newbies] Re: Smalltalk Data Structures and Algorithms

Klaus D. Witzel klaus.witzel at cobss.com
Wed Jul 29 15:44:51 UTC 2009

On Wed, 29 Jul 2009 16:57:22 +0200, David Mitchell wrote:

> 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.


Only disagreement and lots of "... in Smalltalk ..." missing from the  
listing of the six core principles' POV.

And thank you very much Ben for writing this all up. I love it :)


> 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