>Some features:>- Slots
>- Opal compiler
>- Enhanced collections
>- Removal of a lot of old craft
>- Nativeboost
>- TxText
>- GToolkit
>- Better infrastructure
>- Command line handlers
>- JSON support>One may argue that these are extensions. But to me there are 
>what makes it different and powerful.>I am using VW PUL at times but I prefer 
>Pharo by far when it comes to the development experience.>Pharo also allows 
>one to master from the metal up to the UI. Not many contenders on that front. 
>As a software engineer, it matters to me. I hate black magic >happening. With 
>Pharo I can make sense of things.>I do feel empowered when using Pharo. 
>Not so with other languages and tools where I feel like a user not a 
>(co)-owner.>There is this irrational inner joy associated with elegance. I 
>feel it. I like it. It is what makes me choose it over more mainstream tech. 
>We 'll see how far this >will lead me and my business.>Choosing something is 
>saying no to other things as there is only so much time available. Mastery 
>takes time and dedication. So be it.>Phil
I can understand some of the arguments of both sides but one has to take into 
consideration that not all users are familiar with Smalltalk and not everyone 
uses Smalltalk for the same reasons.  For some, what you see as Pharo's 
strengths are seen by others as its main weaknesses.
Slots?  So what?  I have yet to see a use for it that makes my life way easier 
as a developer.  

Opal compiler?  As long as it compiles, why should I care? If you're into 
compilers and want to experiment, that's a plus I admit it.  If you're not, who 
cares?
Enhanced collections?  You're always one package away from those with Cincom 
Public Repository.
Removal of a lot of old craft?  Yeah, that one is an argument when you compare 
Pharo against Squeak, especially on the Morphic side.  But dead wood in 
VisualWorks or VAST, I don't see much!
NativeBoost?  If you can demonstrate that Pharo is faster than VisualWorks or 
easier to interface with external ressources, I'll buy it!
TxText & GToolkit : as I said, you can always get (or port) the equivalent with 
VAST & VisualWorks.
Infrastructure?  Okay, automated builds & tests but so what?  If Dolphin 
Smalltalk works fine right out of the box, why should I be concerned with how 
it works/compiles/tests if I want to *use* it and not *develop* it?  Do you 
really care about how DB/2 compiles or your priority is that it does the job?
Command line & JSON : as always, you have have that elsewhere for most products.
I'll admit it's fun to know how things work under the hood but for most of us, 
it's simply irrelevant.  I've worked on huge projects and, most of the time, 
clients want specific features & results.
I've had to work with VAST lots of  times and  on most occasions, the rationale 
of that choice was pretty simple for the client : it had "out of the box" DB/2 
& COBOL & MQSeries support as well as *reports* (never underestimate their love 
of reports!).
On other occasions, the client preferred VisualWorks because of portability and 
speed.
If you'd tell me you're into music & MIDI, I'd recommend Squeak.
At one time, if you had told me you needed a cheap native Smalltalk development 
environment, I would have recommended Dolphin.
I don't believe in "ours is sooooo much better" arguments.
My favorite Smalltalk is VW but for some projects, I would just not use it!
I'm very familiar with VAST but for some projects, I just wouldn't use it!
The same way I've mostly preferred DB/2 over other RDBMS but, for some jobs, 
DB/2 is simply not the answer, as much as I love it!  The same way GemStone/S 
sucks for some jobs!
My main reason to love Pharo is it's extremely rapid pace of new features and 
the fact that the Pharo community hasn't constrained itself into the "we must 
be backward or Smalltalk-80 compatible" mindset.  That's a plus if you already 
know Smalltalk and you want to experiment new ideas but if you're a newcomer, I 
would certainly recommend another Smalltalk to learn the language.  Wanna know 
why?  I spend my time, each & every night on IRC answering private questions 
about "how come this code I found in a Smalltalk tutorial/package/fileOut 
doesn't work/load in Pharo".
See?  For a newcomer, Pharo is often times waaaay too far from Squeak and/or 
Smalltalk-80.  There are TONS of snippets/code/tutorials/packages/fileOut out 
there that expect, somehow, that your environment is a close cousin of 
Smalltalk-80.  There a re tons of packages on squeaksource.com that don't load 
into Pharo without some work that a newbie cannot do.   There are tons of code 
in the Cincom Public Repository or Dolphin goodies or VAST goodies that don't 
load into Pharo without much work, way too much work for a newbie...

Besides, most newbies want to be able to build *something* and then play with 
it.  If you can show me that you can build a screen with a few widgets in Pharo 
*faster* than you can do it in VAST, VW or Dolphin, I'll be convinced.
We musn't forget that not all users of Pharo are familiar with "Pharo's 
dialect" and are able to correct/fix/understand the differences between what 
they expect to load and what Pharo can actually load.
Add to that code management, package dependencies, old/contradictory 
documentation/terminology  found everywhere (Universes, packages,  fileOuts, 
Bundles, Applications, Pundle, Configuration Maps, Monticello, Metacello, 
GitHub) and you will easily see why, lots of times, newcomers just give up.
"I just want to build a f*cking window with a few fields (firstname, lastname, 
date of birth), a list (marital status), a checkbox and a text field for 
comments and it takes eons to build and tons of code" is a comment I  regularly 
get.  In VW and VAST & Dolphin, that simple task is a 5 minute job. Out of the 
box.

"I just want to f*cking  read data from a database [insert favorite database 
here] and it's so complicated" is a comment I  regularly get.  In VW and VAST , 
that simple task is a 5 minute job. Out of the box.
I can assure you that, from questions I have every day, being a newbie in 
Smalltalk and using Pharo is not an easy thing.
So let's stop arguing that WhateverSmalltalk is better than AnotherSmalltalk.  
It might be in some cases for some jobs but in the meantime, one of our (the 
Smalltalk Community) big problem is attracting new people to Smalltalk and make 
them stay with us.  The paradigm shift of pure OO and development tools & the 
"image thing" is a lot of concepts that aren't easy to grasp if all you've 
known is Java, C++ or C#.
Documentation is the key.  And on that side, Pharo got it right.  There will 
never be too many PBE or kilon's videos!  Let's not forget that what is obvious 
to us can sometimes appear (or be) eons away for a newbie!

 -----------------Benoit St-Jean
Yahoo! Messenger: bstjean
Twitter: @BenLeChialeux
Pinterest: benoitstjean
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".  (A. Einstein)
  

Reply via email to