Eliot wrote >But the real things to learn are the Method Finder and the browser.
In case you are wondering why no beginner seems to know about Method Finder: Your post made me take a look at it for the first time (after near a decade of smalltalk). Interesting class comment. I’m pretty sure no beginner will understand it. The first thing I did was google for some blog posts and videos on it. I wouldn’t have bothered if you hadn’t been so clear about having to learn it. A much more simple example is needed (to start with). And that only helps after discovering that there is a tool like that. >So why aren't people taking the time to learn it today? Is it the system's >fault? Is it too big? Are the readable parts of the system non-existent, or >>too difficult to find? Is it some cultural change that means people can't >learn such systems any more? Was it only learnable by a few people back >in >the day and it remains unsuitable for a mass audience? Is it impossible to >design user interfaces that invite exploration? Do people no longer >want to >play with the system but instead want to use it to get something done fast, >and can't spare the time to learn it properly? Are computing >languages like >English, and every programming language must adopt the conventions and >vocabulary of the most popular? Is inheritance too >hard to navigate to >discover that SequenceableCollection has lots of useful String mehtods, and >some useful methods on ByteString are in String, >etc? The system is much larger than it used to be. A larger system is much more difficult to navigate. And how should you learn it? Which subset of concepts should you learn, and in which order? Pharo by Example targets more new programmers than switching ones. Tools that were added are almost by definition designed for experienced users. They don’t care enough about discoverability, as they know where they are. Inheritance is not so much a problem, that is a well known concept in mainstream languages Stephan
