[self-interest] Smalltalk implementation in Self
Jecel Assumpcao Jr
jecel at merlintec.com
Tue Sep 18 22:22:52 UTC 2001
On Monday 17 September 2001 10:42, Jonas Bosson wrote:
> Jecel, you are probably right, its just that I had no concept on how
> to develop say, a web server, using versioning and packages as I
> would in my "regular" environment.
When I was using the university's computers with two trainees, we
didn't have enough disk space to save snapshots. So we just saved our
work as text modules and used RCS (or CVS if there was more than one
module in a project) to keep track of versions. That allowed us to
develop reasonably complex applications with only 10 to 100KB of disk.
Unfortunately, even though it is easy to add module annotations to
objects and slots, it does tend to slow you down a bit. And you have to
put more effort into morph initialization code than if you were saving
"regular objects" and not just prototypes.
For more details, see
> The Self desktop is just great but a bit cut off from the "normal"
> windowing and file "class" system approach. Though I can see the
> obvious reason for keeping the Self GUI in one desktop (nice drag and
> drop features!), I would like to have something more (don't we all)
> than just evalutation terminals and windowing so selfishly. ;-)
> Sorry, I dont know, am I making sence here? I dont know if it has to
> do with beeing without classes or beeing without a structured
> overviews in a framework for code management.
The closest thing that Self has to Smalltalk's System Browser is
opening an outliner for "globals". This is not as useful since there
are several alternatives to putting things in globals so you won't find
everything in there.
The idea, in Self, is that anything interesting manifests itself in
some way on the screen. So you should be able to start by pointing to
something interesting and then work your way from there to where you
want to go. It doesn't always work out that way. I can understand how
frustrating this style can be to some people - unstructured exploration
always leaves you with the uncomfortable feeling that the solution was
in some path that you overlooked.
But an ordered and extensive list of "everything in the system" will
become less and less practical as systems get larger. We used to see
everything there was on a floppy in the old days by listing its only
directory. With hard disks we had to hide uninteresting stuff in
subdirectories. With the web we had to give up a catalog-like view
entirely and depend on hyperlinks and search engines instead.
> Perhaps, if it is possible, could one create a filesystem (mounting)
> representing named instances in a running Self VM server so that
> editing files became interactive with the operatingsystem and all
> tools like emacs that so many of us like to use?
> (That would make Self a real competitor with Java, I guess.)
This is pretty much how we used Self between 1990 and 1995, except we
used a regular external filesystem and had to reload edited files
manually. And you can certainly use it like that today (it is just that
we don't want to) and it even would be simple to add automatic
reloading of edited files.
Java folks don't consider anything with a non C-like syntax to be
More information about the Self-interest