A Lisper asks, "Am I supposed to like Smalltalk?"
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
Perhaps something similar already exists?
Could Croquet be used to implement something like this?
More information about the Squeak-dev