Complexity and starting over on the JVM

Paul D. Fernhout pdfernhout at kurtz-fernhout.com
Tue Feb 5 01:26:53 UTC 2008


Yes, yes, but the key point is: "modern meaning".

So, for the 21st century, Squeak gets underscore *wrong*.
  http://en.wikipedia.org/wiki/ASCII

And for a dozen years. Every knows it is wrong. There was even a recent
discussion on it. It still can't be fixed!

Emailed Squeak source using it displays wrong in any normal client. You
can't use underscore like you can in just about every other modern
programming language, as an embedded space. Every other Smalltalk does
assign with ":=". There is no significant *benefit* to almost anybody
(especially newbies) in being different this way, only a major *cost*.

And this can be fixed by running a script with a few lines of code; I did it
myself like ten years ago (well, I think I modified a compiler node or two
too to allow underscores in variables and methods). There is a huge failure
of community process here. A huge failure of ideals in this specific way.
(Having said that, generally the Squeak community process and ideals get it
right. :-) Or in general, Squeak sometimes ignores "tune defaults for the
novice".

How many other things in Squeak reflect a similar conservative design
philosophy and just clutter up an otherwise amazing imagination amplifier
system?

Putting Squeak on Java, and splitting out the idiosyncrasies (underscore,
GUI issues, etc.) into modules makes a lot of sense to me. Squeak is so
powerful and flexible you can still have them as an expert, but why make
them defaults?

If you want to show Squeak's power, then change the default for everyone,
and let greybeards take a plain Squeak system of their own and write a few
lines of code to convert ":=" to underscore (or a Unicode backarrow) and to
change the compiler and convert the whole image. Make this code an easy
module to both add and then remove this change. Everyone else can be
suitably impressed with the power of Squeak in the hands of an expert, but
they can still all email their source code to each other in an easily
legible way. :-)

And yes, in a new Squeak, backarrow assign should be the first thing to be
removed from the default image IMHO. :-)

--Paul Fernhout

Randal L. Schwartz wrote:
>>>>>> "Paul" == Paul D Fernhout <pdfernhout at kurtz-fernhout.com> writes:
> 
> Paul> Squeak also deviates from other Smalltalks sometimes for no good
> Paul> reason. A dozen years later you still can't use underscore as easily as
> Paul> in most other Smalltalks because underscore is still overloaded as the
> Paul> assignment symbol. [...]  What does this weird use of underscore really
> Paul> get anyone?
> 
> Ahh, you kids, forgetting your roots.  We greybeards understand that "_" is
> actually the left arrow in the original fonts for the Xerox Parc Smalltalk80
> Release 2 image, from which Squeak is derived (via Apple and Disney and a cast
> of thousands).  That it now looks like "_" is merely an artifact of applying a
> modern meaning for slot 95 in the ASCII table.
> 



More information about the Squeak-dev mailing list