The assignment character in 3.9 and onward
Jecel Assumpcao Jr
jecel at merlintec.com
Thu Jun 8 16:53:19 UTC 2006
Duncan Mak wrote on Thu, 8 Jun 2006 11:40:01 -0400
> I'm surprised that no one mentioned it, but for me, a big reason why I missed
> having the good ol' left arrow is because := just takes so many keys to type.
Exactly - there are two entirely separate issues relating to the
assignment character: how to type it and how it is displayed by the
various hardware/software combinations.
I would just like to take a small detour into the history of character
sets for those who keep complaining that Squeak "hijacked" the underline
character. As we can see in
http://homepages.cwi.nl/~dik/english/codes/stand.html there was no
underline character in the 1963 proposal for ASCII. In 1965 the up and
left arrows were replaced by the now familiar caret and underline
characters, but by then the uppercase-only older version was already in
use in printers and popular teletype terminals. It is easy to say that
when Xerox PARC was founded this was already ancient history and they
should have adopted the final version of ASCII but things don't easily
change that fast - at the computer center where I worked in 1982 all our
teletypes still had no lowercase, caret nor underline characters. And
this is why we call a method #helpWithTopic: instead of
#help_with_topic: like many other languages.
It is interesting that the original IBM PC video hardware did include
characters for all four arrows, with 16r18 as the up arrow and 16r1B as
the left arrow. So when Digitalk introduced their Methods text based
system in 1985 they could have used these. But they would have been very
awkward to type (specially with the left arrow having the same character
code as ESC) and since their target audience was Pascal programmers (all
examples in the first part of their manual include the Pascal equivalent
of the Smalltalk code) they decided to change the assignment to
something that would be more familiar to them and would look good when
printed on the ASCII dot matrix printers of the time.
Now we have Unicode and several nice arrows to choose from while letting
the underline be just an underline. Certainly it is far from trivial to
make this change without messing up old code but I think it would be
worth the effort. But even if this is done there still wouldn't be a
good way to type in these characters, so Duncan's proposed patch would
be very important.
More information about the Squeak-dev