<div>Most Smalltalk classes build on a lot of other Smalltalk classes. So, they are hard to understand until you know the classes that they use.</div>
<div>&nbsp;</div>
<div>In fact, you can't print out Object and completely understand it, because it has methods like &quot;inspect&quot; that call a lot of other classes.&nbsp; It is possible to build the image up from a small base, but it is not done one class at a time.&nbsp; Each layer is partly new classes and partly adding methods to existing classes.&nbsp; This is a good thing, not a bad thing, but it makes it harder to learn Smalltalk.
</div>
<div>&nbsp;</div>
<div>When an expert teaches Smalltalk, it is like getting a guided tour of a city.&nbsp; We show just the part of Smalltalk that a beginner is able to understand, and avoid the parts that are confusing until they have the background.&nbsp; You don't get that by looking at the image.&nbsp; For example, I tell people to ignore the GUI, the compiler, and all the tools at first.&nbsp; Just focus on Collection classes and numbers.&nbsp; We spend several weeks with just the core classes before we move on to other things.&nbsp; The GUI is way more cool, but I think students learn better if you ignore it at first.
</div>
<div>&nbsp;</div>
<div>Unfortunately, one of the disadvantages of Smalltalk over Java is that it is harder to learn on your own.&nbsp; It is not hard to learn with a guide, but newcomers don't know what to look at and what to ignore.&nbsp; It would help to have a beginners browser that hid most of the classes that beginners want to ignore anyway.
</div>
<div>&nbsp;</div>
<div>-Ralph Johnson</div>