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 http://research.sun.com/self/release/Self-4.0/Tutorial/Language/ImportantObj...
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 competition.