>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)
