[comp.lang.smalltalk] What happened to the funny characte

johnson@uiucdcsp.cs.uiuc.edu (01/08/88)

I think that the main reason that Smalltalk lost its cute characters
was for compatibility with printers, since most printers only spoke
ASCII in 1978.  In hindsight, that was probably a pointless decision,
since most 1988 printers handle some sort of graphics.  Using cute
characters would require some sort of special encoding of program
sources so that they could be transmitted through normal networks,
placed on shared disks, etc, but this is not really a problem.  The
only remaining character is the assignment arrow, and I would assume
that any small set of cute characters could be handled similarly.

A more important difference between Smalltalk 72 and Smalltalk 80
is that each Smalltalk 72 object was a process with a message queue
from which it would receive messages.  Thus, Smalltalk 72 was a lot
closer to Actor systems then Smalltalk 80 is.  The Actor features
made Smalltalk slow, were not used very often, and were usually confusing
when they were used.  (I got this from reading between the lines of
Goldberg's article in the August 81 issue of Byte.)  Most class definitions
consisted of a single loop that read a message from the queue and did a
case analysis of it.  Smalltalk 76 formalized this by having a class
define only the cases, i.e. the methods.  This allowed inheritance, which
I don't think was allowed in Smalltalk 72.  Of course, many things were
lost in the transition, but the Smalltalk designers seemed to think that
it was worth it.  Now that lots of people are trying to put parallelism
into Smalltalk by making it more Actor-like, it is important to know that
some of these features were taken out of the language, and there might
have been a good reason for it.