One can certainly write bad code in Smalltalk.  Some of the ugliest procedural 
junk I have seen has been in the corners of Smalltalk images.  I doubt it buys 
us anything to  show how to use a "funny" language to write code that looks 
different and is no better than stuff written every day in other languages.  
However, to some extent, that's what Digitalk did in their tutorial that I like 
so much for newbies, so don't lose that idea too quickly.  One could progress 
from there to more elegant code as the reader becomes able to absorb it.  
However, the reader comes to us wanting something different, or they go off 
doing something mainstream in the first place.

I found Smalltalk by reading (gasp<g>) about it.  Something gave me the idea of 
using it to create GUIs and to manage data for my research, and to do the 
number crunching in C, and that's pretty much what I have been doing for a long 
time now.  It was an interesting journey, but I knew there had to be a better 
way than doing everything in C or Pascal, and Smalltalk turned up.  At the 
time, it was resource hungry and very expensive.  Those things are now fixed.

As far as a CRUD wizard, I don't see that as a bad thing.  I really dislike 
relational databases, but they have their uses.  I built something on one of 
them a couple of years ago, and it was the right call.  Something that helps 
people do that when it's the right thing would be of great value.  It could be 
presented along with SIXX and other mechanisms that most programmers seem to 
not even realize are so much as possible.

Bill

________________________________________
From: [email protected] 
[[email protected]] On Behalf Of Diogenes Moreira 
[[email protected]]
Sent: Saturday, January 29, 2011 11:21 AM
To: [email protected]
Subject: Re: [Pharo-project] Vision

Well.. my experience as a newby in Smalltalk was simple. because he had a 
strong theoretical base of object-oriented programming. There he is the center 
of the question.. the Paradigm..

Esteban Lorenzano and JJ Evangelista  taught me seaside in 2 hours, And 
deployed the first application in 3 days :)

Unfortunately, not many universities, and why not, business .. OOP is used,they 
 only a mixture of classes with large procedural methods.

Well, key success feature of Java, to introduce in the market was this.. you 
can do something programming..  prodecural old  fashion..

May be, the to mass is make "Wrong" example and Step by Step..Driving back to 
learning the proper OOP programming.

Introduce common element in the main stream example might be a way too.

The tipical wizard to generata a CRUD from database ("puaj... i feel sick").. 
is a good think to make newby more confotable with the enviroment and language.

Best.

On Sat, Jan 29, 2011 at 12:28 PM, Schwab,Wilhelm K 
<[email protected]<mailto:[email protected]>> wrote:
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]<mailto:[email protected]>
 
[[email protected]<mailto:[email protected]>]
 On Behalf Of Germán Arduino [[email protected]<mailto:[email protected]>]
Sent: Saturday, January 29, 2011 9:29 AM
To: 
[email protected]<mailto:[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]<mailto:[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