Through my personal experience I have found 3 ways of learning things 1) Through Documentation and asking Questions, or been taught in a course/class, this one is the most popular because is the one requiring the least effort , but also the weakest form of learning because it offers a very limited array of knowledge . Knowledge that is documented or from people that can answer your questions if you can reach them.
2) Investigation. Investigation is basically the art of following the clues, of piecing things together. Investigation is basically the scientific method, you form assumptions, you test these assumptions , you observe , you correct these assumptions according to your observations and you repeat the process . Investigation unlike Documentation has no limits to how far it goes however it has a big flaw too, it depends on your ability to divide and conquer a problem. However if the problem is too complex it will still work but it will be a very enduring process and quite painful too. 3) Exploration. Exploration is abandoning any assumption or reliance to documentation . Opening the mind to any possibility. Learning for the purpose of true joy. No goals. No rules, No boundaries. Exploration is great and its my favourite way of learning because it never disappoints and never frustrates. Instead of being frustrated at a problem you have very hard time finding documentation about or you have hard time investigating you move to the next one. If investigation is about dividing a difficult problem to much easier ones, Exploration is about going straight to easy problems and let yourself through experience gradually progress to more complex areas. I also prefer exploration because it offers a more structure way of learning and builds confidence. The flaw of Exploration is that there is such thing as having to much fun and you may find your self wasting time on things that you enjoy on one hand but are not particularly useful on another, you may lose track of your goals. All those 3 techniques I have opportunity practicing them when I took my Law degree but they apply pretty much apply to everything. Even though the 3rd one is my favourite I use all of them when the situation demands it. When it comes to Pharo - Documentation : Pharo By Example 5, Deep Into Pharo, Pharo for the Enterprise , Pharo In Progress, asking question in mailing list like this one, reading class and method comments, reading code of unit tests. - Investigation: Reading code directly, going through messages one by one, creating and playing with unit tests, heavy usage of Class browser's ability of finding senders or and implementors of a method, use of GTSpotter for location of methods, taking a look at practical examples and how they use the code you want to use. - Exploration: heavy usage of inspector , debugger and workspace/Playground. Also heavy reliance on printing data on transcript. An alternative way is to formulate your own data and send them an inspect message this way you can avoid printing things and go directly to the source. Coding inside the debugger instead of inside the browser is also highly advisable. The way you work is like this 1) Is there Documentation of what you want to learn ? -> if yes use Documentation 2) If No does reading code and its unit tests are easy enough to learn what you want ? if yes use Investigation 3) If no then start making a ton of experiment in the workspace, print and inspect many values to see exactly how the code works, move the code to System browser through class definitions, introduce self halts (breakpoints) and work the rest using the debugger and the inspector for even deeper look into data processing and flow. Remember your purpose unlike investigation is not how the code works but how the code affects the data. Cannnot say if my method of learning will suit you, but take it as it is, with a grain of salt. On Sun, Nov 27, 2016 at 9:25 AM Derry Bryson <derrybry...@gmail.com> wrote: > Where can I find documentation of the base class libraries for Pharo > Smalltalk? Or is there some other way I should learn about the system? > > Thanks, > > Derry >