A Lisper asks, "Am I supposed to like Smalltalk?"

Zulq Alam zulq at orange.net
Wed May 17 10:09:58 UTC 2006


Duncan Mak wrote:
> The linear ordering of code is only important because there's no way 
> to group methods together in these languages.
Spatial ordering is actually quite effective if you only have a few 
groups but is weaker than categorization if you have a reasonable number 
of groups. In a flat file, a commenting convention could be used more 
effectively than explicit categorization as it stands as you can have 
optionally nested multiple categories etc.  Navigation would then be by 
finding strings in the file.

What /might/ be a good idea is a pseudo-3D browser. Your view is from 
the first person in a 3D world. Around you float classes, perhaps as 
glowing orbs, with related classes floating close to each other. The 
more general classes like Collection classes or the more core classes 
like Kernel classes would be floating towards the center of this world. 
Clicking on a class makes it the center of your view. Clicking again 
takes you in to that class and you see a similar world as before but 
with methods instead of classes. The methods could be squares which 
always face you rather than a 3D object and this square would simply be 
your code editor.

Not sure about how you would jump to another class easily, it might be 
better to not have two different levels but to just have methods sitting 
in opaque spheres that represent the classes. Looking at a method takes 
you into the class sphere but you can still see out at other nearby 
classes methods etc.

The position of objects can be rearranged as you see fit and it would 
probably be good to allow multiple perspectives on the world to be saved 
and used. There should also be a nice swooshing noise when flying around 
this world.

Perhaps something similar already exists?

Could Croquet be used to implement something like this?






More information about the Squeak-dev mailing list