On the permanent noob front: I have years of experience as a beginning skier. �I like it that way: no broken bones. �Besides, I don't get to do it often enough to develop an attitude about it.
As for Smalltalk in general, I have pointed new users to the Digitalk tutorials, telling them to stop when they reach the graphics, after which I started them into specific projects with lots of mentoring until they "got it."
Visual Basic, PHP, Java, any # language except maybe S#, R (statistics), etc., all try to be easy to use. �Hello world is a mere line or two, and teaches NOTHING. �Understanding of Smalltalk comes a little slowly, but the rewards are immense (as you all know). �Visual Basic has syntax for everything one might want to do; once dug out of documentation or a forum post, the trick of the day might not be useful for much else. �Everything is easy: learning to do anything is a daunting task. �The things to be learned about Smalltalk are comparatively few and invariably widely applicable; there are some specialized techniques (FFI, finalization), but very few tricks.
Smalltalk is (mostly) consistent throughout, and its inconsistencies (Character, SmallInteger, #ifTrue:ifFalse:, MetaClass) are hidden fairly well and, with hindsight, make sense IMHO. Exception handling is new since Smalltalk 80, it is done wonderfully and fits with Smalltalk style. �The newbie sees some "syntax" - we see #on:do: sent to a block, note the elegance, and get back to work. �Traits are new and welcome. �I am not saying that we can't extend the system; I think we should be careful about changing the language. �Does Alan still have that piece of paper with the original specification?
Pharo can use some work, of course. �I am still overwhelmed when I begin to create a GUI for something, probably because I have written only two or three of them. �I have some scraps of code that are learning toward an MVP framework. �Just this past week, I encountered some communications code (non-graphical) that needed an aspect value adapter. �I wrote a simple one, which is another piece of that puzzle.
Things worth learning take effort. �I doubt we can get around that. �We can offer good tutorials, and where the tutorials look scruffy, make the code better.
Bill
________________________________________
From: pharo-project-bounces@lists.gforge.inria.fr [pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Germ�n Arduino [garduino@gmail.com]
Sent: Saturday, January 29, 2011 9:29 AM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] Vision
I understand the sense of your words.
And I agree with the need of a more easy to understand/extend
system......I think that is a thing we need in these days, may be with
some helper tools, I don't know, but I hear a lot of times people
saying "No, I had a look to (put here Squeak/Pharo/Dolphin/other
flavour) but was not able of develop anything".
I know most of this sensation has to do with knowledgment about OO
technology, but still if we can have a lower intro barrier, may be
better for a lot of people (myself included of course.... in topics as
.... Morphic :) ).
Just my thoughts.
Another forever newbie: Germ�n :)
2011/1/29 St�phane Ducasse <stephane.ducasse@inria.fr>:
> Hi guys
>
> Some days ago we were chatting with igor and he made an interesting remark about a kind of hidden philosophy
> behind pharo: the idea that we systematically want to make the system better.
> In fact I realized that what we are doing is to make a system nice, robust and powerful so that everybody can use
> to realize their goals. But we want to have a system where not only smart guys can manage to do something with it but also
> less talented people like me (I know that some of you will say but stef you are good, I'm a newbie in a lot of domains but
> I learn fast if I can get a chance to avoid to bump on the walls). I want a system that let me learn from itself.
> I think that lot of things fall naturally in place from this vision (documentation, oo practices - not having car inheriting from wheel, tests
> comments, adequate abstractions, modularity). I want a system that everybody can nicely build his own software.
> So in short I want pharo to be like a nice garden with greenhouses for building new garden with tools versus a jungle where
> only skilled adventurers can make it through.
>
> Stef
>