Richard A. O'Keefe
ok at cs.otago.ac.nz
Tue Feb 4 01:51:45 UTC 2003
shane at shaneroberts.com wrote:
[asking about block closures; I'll let others answer that]
Also, for years in the 80s and early 90s, any references I read
regarding Smalltalk stated that it was too inefficient and not useful
for practical applications. I once flew to Los Angeles where I had
an appointment to evaluate a Xerox Dolphin workstation running
Smalltalk. This was about 1983, and I believe the Dolphin was
priced at upwards of $100,00.00. I requested a small example of
Smalltalk programming. The representative was tentative about
what sort of example to show me, so I said, "How about a simple
loop that prints numbers from 1 to 1000." So a loop was written
and executed. It never got to 1000, it was TOO SLOW! That
about cinched it for me.
Xerox Dolphins were rather slow machines.
In about 1987 someone at Xerox PARC told me that I should really
_really_ ask to see Smalltalk on a Dorado, and for many years the
Smalltalk benchmark reference was "one Dorado".
The same person told me that Xerox priced Dolphins rather high because
they really didn't want to sell any. The phrase "hand-built by
leprechauns" was used.
The faster Dandelions (and later Dandetigers) were basically 16 bit
hardware. At least in Interlisp-D, every time you picked up a cell
from memory, it actually took *3* memory references, one 16-bit reference
to a page table and then two 16-bit memory references to access the actual
data. At may have been the same in ST-80 on a Dolphin?
I worked on Xerox Quintus Prolog, which ran pleasantly fast under
Interlisp-D on 1108s (Dandelions) although the 1109 was better.
The window system was a breeze to use and felt quite responsive.
Xerox had some really inventive system and hardware designers.
What they *didn't* have, in my view, was any serious intention of
selling machines or software. They would not let us (Quintus) sell
direct to their customers, nor did we get a chance to talk to their
salesmen to explain to them what XQP was or who might be interested in
buying it or what for. The net result was that (a) Xerox paid Quintus
several millions of dollars to port QP to the D-machines, (b) a major
Quintus development was held up for about 18 months in order to meet
the letter of the contract, and (c) Xerox sold almost no copies of the
It wasn't so much that Xerox weren't serious about selling as that
they were serious about NOT selling.
So I think the botched demo of Smalltalk on a Dolphin actually tells us
very little about Smalltalk at ANY stage of its development. Maybe
someone at Xerox was just scared that you might try to buy something
if they gave you a good demo.
I couldn't figure out how you would "share
programs" or separate out "data files."
You share programs the same way you share C programs across different
architectures: as source code (change sets). Data files are as separate
as you want them to be, and were back in 1980. Squeak ImageSegments
let data files be collections of objects, but text and byte data streams
have been around for yonks.
More information about the Squeak-dev