[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  (see
>>> Incidentally, just for the record, in response to my forwarding your
>>> claim, Alan Kay, the inventor of Smalltalk, just refuted your
>>> refutation  (see
>>>> I most definitely still think of OOP at its best as being
>>>  Kay, Alan. "[Newbies] Re: Smalltalk Data Structures and
>>> Algorithms." The Beginners Archives. Squeak.org. 24 July 2009. 27 July
>> Nevertheless, O'Keefe now still insists that Smalltalk did not
>> originate in biology  (see
>> 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  (see
>>> 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
>>> 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
>>> 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."
>>> 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
>>  Russell, Benjamin L. "Re: [Haskell] Re: 20 years ago."
>> gmane.comp.lang.haskell.cafe. Gmane. 27 July 2009. 29 July 2009.
>>  O'Keefe, Richard. "Re: Re: [Haskell] Re: 20 years ago."
>> gmane.comp.lang.haskell.cafe. Gmane. 28 July 2009. 29 July 2009.
>> Benjamin L. Russell / DekuDekuplex at Yahoo dot 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
More information about the Beginners