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: [email protected] 
[[email protected]] On Behalf Of Germán Arduino 
[[email protected]]
Sent: Saturday, January 29, 2011 9:29 AM
To: [email protected]
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 <[email protected]>:
> 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
>


Reply via email to