Dimitris:
I agree with much of what you said, but I think it is still possible to make step 0 and follow the Pharo path with more easy. :)��
Ben:
"The things we see as important��might be a paradigm step too far for newcomers."
I think the problem for Step 0 it is exactly that. I myself have already tried to show the paradigm shift along with all that must be learn to use Pharo, and it didn't went well. It is too much to tackle at once. There is the language, the environment, the IDE, the paradigm shift, too much...
Nicolai:
The first example from the book provides the first experience you have on Pharo, and it uses stuff that is not on the default image (it happened to me a long time ago and with a friend more recently). It is frustrating and leave the person trying to learn suspicious.��I see that the current site for the book has a link to the image that should be used while reading the book, but it is not very visible and I think the book don't mention it.��From the Getting Started chapter I count five pages until some code is executed (Time now). The problem here is that people usually don't understand, yet, the power of the environment, and are eager to see code and execute it, and they often get confused with so many different things to learn even before the first "Hello World". I can say the first time I got PBE I gave up because of this, and I only come back later because I persist to learn Smalltalk, and I know some other people who tried to read it too and give up for exactly the same reason.
I found the book an excellent reference and source to solidify��the understanding of Pharo, but I don't like it as a tutorial.��
-------
Look at the Go language site:��
https://golang.org/, the first thing it puts in your face is a way to execute code and a link to a Tour. I don't even have to think much before I have executed the Hello World, my hand just moved the mouse to the Run button, and even before I noticed I was doing the tour.
In my opinion, a good Step 0 would be something like Profstef (
http://amber-lang.net/learn.html) as a Tour, going slowly through the language aspects, messages types, comparing to other OO languages, showing that operator are just messages, then that control flow statements are also just messages, creating classes etc, always letting the user execute code as she goes on.��
After that, the Tour could tell its user to continue it using the image and showing the download link. When the user execute Pharo.exe and loads the default image the first thing that appears is the Profstef asking if it is the first time he is there and if he is continuing the tour from the web (if it is someone used to Pharo, he just closes the windows and starts to use his new fresh image). It could explains steadily the workspace, the transcript, the nautilus and how to make a very simple web application with tests. After that it could explain the image, that objects are stored (serialized) into it and the image itself consists of the running program while the Pharo.exe is the VM. In the end It could point to a tutorial like��
https://medium.com/concerning-pharo/reddit-st-in-10-cool-pharo-classes-1b5327ca0740, the PBE and to the many others resources available.
The order of things could change and maybe I had missed something, but that is what I can think now. Perhaps this approach is too slow, I don't know, but the fast one isn't working for me :( It don't need to be a tour also, but something in these lines, like the medium post above but with more parts, each describing a little more of Pharo. The idea, in general, is to easy the entrance barriers��that Pharo has by it's quite different, yet powerful, programming model and environment. When I talk to people I know that have tried Pharo, that is the biggest problem.
That is just my two cents. :)
And thanks for all the new links :)
Regards,
Vitor