Hello friends,

I’m getting started with Pharo after decades using VisualWorks and Squeak; it’s 
pretty wonderful what you all have assembled!

My question is related to what we used to teach as the first law of software 
reuse: “You can’t reuse it if you can’t find it,” and the related software 
engineering "principle of least astonishment."

When I fire up Pharo, the system browser presents me with a list of several 
hundred categories (from AST to Zodiac) in a system with over 8000 classes.  
The system categorization makes no sense since I don’t know the naming 
conventions and so many packages have cute but quite non-descriptive names 
(Zinc? Metacello? Calypso?).

In Smalltalk-80, the class category names were organized as a 2-level hierarchy 
where the top-level were items such as Magnitudes, Collections, Streams, 
Graphics, Text, System, Tools, Files, etc.  This made it easy to find (e.g.,) 
the browser source code by looking in the Tools package for the class category 
Tools-Browser.  Even packages with cute names (like my own “Siren”), were 
categorized for ease of finding; e.g., the Siren classes were in class 
categories like Music-Events and Music-Magnitudes.

Parsing the class category names on the first instance of $- made it possible 
to build 6-paned Browsers (called package pane browser in Squeak).  (We 
acknowledged that this violates the “zero/one/infinity" rule.) Is something 
like this available for Pharo? I looked through the Calypso browser code and 
it’s so over-engineered (IMHO) that it’d take me several days to figure out how 
to implement this (it was about 1.5 pages of code in Smalltalk-80).

If Pharo had a browser that scaled better and a reorganization/simplification 
of the class categories to use names that were more self-explanatory, it would 
be *much* easier for new users (in fact, for all users) to find their way 
around.

I apologize for the stepping on toes...

Stephen Pope


--

                    Stephen Travis Pope   Santa Barbara, California, USA    
          http://HeavenEverywhere.com <http://heaveneverywhere.com/>        
http://FASTLabInc.com <http://fastlabinc.com/>
                       https://vimeo.com/user19434036/videos 
<https://vimeo.com/user19434036/videos>      
http://heaveneverywhere.com/Reflections

--



Reply via email to