Smalltalk class heirachy

Yoshiki Ohshima Yoshiki.Ohshima at acm.org
Tue Dec 7 03:20:44 UTC 2004


  Aaron,

> Thats horrible, I meant a nice preferably UML notation chart that I could 
> print out and put on my wall.

  I suspected that kind of stuff is what you want.  That is why I ask
you "why" you want to have that kind of chart.

> >  Hope this helps,
> 
> Well, not much really. I may at some point use a UML modeller to do a chart, 
> this would help me learn the main common Smalltalk heirachy.

  Well, when you write code, would you see the wall to check the class
hierachy?  If the chart has 1600 or more classes, but doesn't have the
classes you've added?

  I admit that the version in the Squeak browser doesn't look
beautiful.  I would imagine that we could benefit to have an
electorically created version.  We even have couples of UML modellers
written in Squeak. (http://minnow.cc.gatech.edu/squeak/2958) You could
imagine to generate the chart from Squeak.

  However, the whole point is that you can "do" various things with
the Squeak browser.  You can get a subtree quickly.  You can retrieve
the "users" of a class, or the classes refer to the class.  Etc., etc.

  Ok, here is a summary "why" I think a printed chart is not a good
idea:

  * Paper has other advantages, but it is not good at dealing with the
    changes, and writing code is making the changes.

  * You might agree with me that printing out "all" classes is quite
    pointless, but if you choose a subset, then the question is that
    which subset you have to choose.  The good subset changes from one
    project to another, or one moment to another.  This leads the idea
    to have more dynamic, and focused sub-charts, instead of one big
    chart.

  * One of the advantage of a dynamic language such as Squeak is that
    it is relatively true that you don't have to know everything
    upfront when you start writing a piece of code.  Trying to learn
    the class hierachy upfront is something that makes learning
    harder.  Rather, I'd recommend you to sit-down for a while, and
    follow some tutorials.  (I'd also recommend you to forget about
    the minor detail of keyboard short-cuts or start-up time for a
    while, if you really want to learn the language.)

  * It is more ecological, after all.

> Is the Squeak inheritance heirachy a proper superset of Smalltalk 80 ?

  No.  Depending on your definition of Smalltalk-80, but I would
imagine that "ProtoObject" is new and unique to Squeak^^;

  I would imagine that you asked this because you found something from
other Smalltalk-80 system, right?  Some part of that kind of chart may
apply to Squeak, and some don't.  (So, asking a good question is
important, Aaron.)

-- Yoshiki



More information about the Squeak-dev mailing list