Closures

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

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 mailing list