Jecel Assumpcao Jr
jecel at merlintec.com
Wed Aug 23 18:02:51 UTC 2000
On Mon, 21 Aug 2000, Diego Gomez Deck wrote:
> I'd like to know about Dave (and other Self gurus) thinking about
I have done an equal amount of programming in Self and Squeak over the
last few years, so I hope that qualifies me to answer your questions.
> What do you think about the posibility to use Squeak as the boot-strap
> architecture of a Self written in Self.
I looked deeply into this issue in 1997. Technical aspects aren't
everything - when I was looking for a Unix for my PC there was NetBSD
which was mature and had lots of software and Linux which was buggy and
needed some effort to run most software (it wasn't quite BSD nor quite
System V). But the community around Linux was more vibrant and so I
decided to risk going in that direction.
The self-interest list had died in 1997 and the Squeak community was
really starting to take off. But Squeak Central was in no hurry to
develop a more modular system or a higher performing one (I knew Jitter
1 would not be much faster than an interpreter), so I considered
implementing these things myself - essentially changing the whole
infrastructure while keeping the higher levels intact. But there is a
large part of the Squeak community that includes people interested in
a traditional, but free, Smalltalk. They want native widgets, not
Morphic. I predicted that my technology would be ignored and I would
be doomed to keep patching an alternative fork trying hopelessly to
keep up with the new official releases of Squeak. This indeed happened
to a few projects (error handling, improved networks and a few others).
Note that Squeak's best feature (slang - a subset of Smalltalk you can
translate to C) is also its worst feature. Yes, it is easy to port
Squeak to a new machine. But getting good performance is a complex
process: test in Smalltalk, translate to C, compile C, load plug-in,
test final version. Contrast this with Self where we write the code and
the implementation does the rest.
There is the promise that Jitter 3 will combine the best of Squeak's
interpreter and Self's compiler. I hope so. And there is the Squeak to
ARM translator that the Interval people did which could be the start of
So a Self-in-Self bootstrapped in Squeak would have to be a new system
and not depend on Slang. In the end, I decided I could get better
results by spending all I had on a Sun Ultra 5 (US$5000 without
monitor!) and trying to bring the Self community back from the dead by
starting a new list. Though I failed to produce Self/R by Christmas
1998 as I had hoped, I still feel this was the best plan. Of course,
Squeak has improved a lot since then. And the PC I am using is over
twice as fast as the one I had. "The difference between madness and
genius is results". We shall see which is my case ;-)
> What about a Squeak-Self VM?
Do you mean a Self VM written in Squeak? That would have to be one of
the first steps in the Self-in-Self on Squeak thing I talked about
Do you mean running Squeak on top of Self? Mario got GNU Smalltalk to
run on Self. While Squeak is much more complex, I don't see why the same
thing can't be done for it. This would be a very good thing. I don't
think there is much of a future for Self as a competitor to Squeak. I
would hate to have Self be the BSD to Squeak's Linux....
More information about the Self-interest