Hi, I totally agree with what Martin says here. In my case I was interested in Smalltalk for long time, but the game tutorial didn't catch my attention. I planned several projects to learn, but none of them where easy to start with. It was not until the expansion of Moose from software analysis to data analysis and visualization and the idea of moldable tools that I found my way to learn the program by solving a small but non trivial problem (as Sergio suggested in this thread also). Now I'm making my interactive documentation platform for data narratives and visualization. I can start small and hopefully with this tool introduce newbies to the internals of Pharo/Smalltalk as we need them. It's a still buggie but useful tool for me. My way yo introduce others to this will be by workshops in our local hackerspace. We're documenting everything and creating non-English docs for Spanish speakers. We will share them when they're in better shape. Cheers, Offray El 13/01/15 a las 12:13, Martin Bähr escribió:
Excerpts from nacho's message of 2015-01-13 15:13:41 +0100:
As I struggle, not without fun of course, to learn more about Pharo and its frameworks and idea came to my mind. We could put together some guidelines on how to become proficient in Pharo, and eventually come to be a power user and / or a developer. I read several of this recommendations on various list of other programming languages. Basically the idea is to have some sort of guide, with theoretical and practical stuff. For example: *Beginners.* *Intermediate* *Advanced* etc, etc, etc
Like a road map to becoming a serious Pharo users and / or developer. I know
one thing i noticed, is that such guides need to be topical. as a web developer i am not interested in GUI stuff, and if i have to go through tutorials that teach me how to build games than that's not very motivating.
fortunately there are several web tutorials out there, but not all of them assume a pharo newbie, but expect me to learn pharo first (which brings me back to the game tutorial)
one advantage pharo has is that new users need to learn the IDE and smalltalk at the same time. kind of like learning eclipse and java at the same time. i could learn eclipse using another language i already know, and i could learn java without using eclipse, but i can't really learn smalltalk without learning the IDE at the same time.
so a new-user tutorial needs to explain every step in the IDE while teaching the language.
a good example for a tutorial on the web-side is http://zn.stfx.eu/zn/build-and-deploy-1st-webapp/
it does not assume any prior knowledge about pharo, yet it is sufficiently high level that it will be interesting for an experienced developer (like me)
even a person without programming experience will complete this tutorial successfully. i just had two students go through this tutorial during google code-in with more success than i had for other tutorials.
one of them just started to learn programming, so throughout the tutorial he didn't really understand all of what he was doing there, but understanding comes from practice, and a few more tutorials and a good book or course on programming basics, and he'll get it.
another aspect where this tutorial shines is, that it not only covers coding, but also deployment and packaging. the only thing missing is testing and debugging. in other words it introduces me to the major aspects i'd need to know to start building websites.
Just an idea, it will be collaborative. I volunteer to keep and maintain the list updated in a place where it will be available to anyone but of course can't contribute much besides doing that.
as i am involved as mentor for code-in, semester of code and summer of code programs with a few smalltalk projects, i'll likely have more opportunities to test different approaches to get started, and hopefully will be able to provide more input.
greetings, martin.