Towards a better IDE in Squeak
David Röthlisberger
squeak at c3com.ch
Tue Feb 20 09:25:18 UTC 2007
Hi Roel,
> "An IDE which makes it easy to focus on your work while hiding the
> complexity of the things you are not interested in."
>
> Most IDEs seem to think that people only work on a single class (or
> hierarchy) at a time. But this is not the case, of course. Sometimes it
> is true, but more often than not you are working on a couple of classes
> that collaborate. In that you would ideally like to see only these
> classes, and then only the parts of these classes that have to do with
> the behaviour you are working on. What makes this hard is that this is
> something which changes rapidly over time. One minute you are working on
> extending a double dispatch scheme, the minute later you are changing
> the implementation of a related class to implement a singleton pattern,
> etc.
Yes, exactly. An idea of mine was to take use of dynamic (feature)
analysis to find out which classes collaborate to each other when a
software is running. Then we could automatically group these classes
together. The closeness of one class to another in this group reflects
the "closeness" in a feature or in the whole software. The closeness
information has to be gained dynamically, and metrics to measure this
closeness could be methods invoked on each other or instances passed to
methods of each other, etc.
This could lead to a short navigation distance a user has to follow when
working on a specific feature in a software which minimizes context
switches, different windows to open, the time to find and navigate code,
... We could even think of doing the same with methods instead of classes.
We could even do more with dynamic anlysis, e.g. visualize objects
passing in a software, etc. For me, bringing the dynamic part of a
software to its typically pure static view we have right now in all or
most browsers seems promising.
One big issue here is of course to permanently gather this dynamic
information and to make it easily accessible to the user while he is
working on a software, so that the user gets the information at the
right time at the right place. This is the challenge.
> Note that from my experiments analyzing the behaviour of students
> wiorking with VisualWorks (through an extended version of my
> SmallBrother tool that would track what window was being used and being
> spawned from what other window in order to perform a certain action),
> there seem to be two kinds of users: one that like to have multiple
> windows open and those that like an Eclipse-like approach with only one
> window full-screen and buffers/tabs/views. Might be obvious, but it
> really seems to be the case.
yes, this is also my impression.
David
More information about the Squeak-dev
mailing list
|