As a side note, the Cuis fork of Squeak simplifies and reorganizes the core system categories in the style of Smalltalk-80, see the screen shot below. stp -- 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 --
On Apr 30, 2020, at 12:00 PM, stephen@heaveneverywhere.com wrote:
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 <pastedGraphic.tiff> 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 <http://heaveneverywhere.com/Reflections>
--