views:

584

answers:

5

I'm now a couple of months into my Smalltalk learning voyage. I was aware, from the beginning that Smalltalk has several "dialects" (perhaps "dialect" isn't the best word) but by this I mean VisualWorks, Squeak and Dolphin to mention just three. So far I have limited my foray to Visualworks and Squeak. But I've now discovered that Squeak seems to be metamorphosing (pun intended!) into several other variants e.g. Tweak, Pharo, Cobalt and Croquet.

Could somebody explain: a) why these initiatives (Tweak, Pharo, Croquet and Cobalt) have arisen ? b) should I take time keep abreast - bearing in mind I'm a Smalltalk neophyte? c) How come such an unpopular language has such a vibrant set of developments happening? d) Are there other initiatives that I should be aware of? (as a beginner not a computer researcher that is)

+4  A: 

This just shows how an inspiring language Smalltalk is and how sound and cleverly designed roots it has. It inspires people from academia to industry to try to extend and build new "dialects", which are then usually merged to some extend among themselves so that at the end we all profit.

That's why I like Smalltalk and its community/communities, even that sometimes you feel tensions there. But every progress needs a tension first.

Pharo is a result of such tension for instance. Pharo is a fork of Squeak, by group of Squeakers with a strong leadership and work more/talk less mentality, which already show the results and it will for sure move Squeak if not all Smalltalk a step further.

Janko Mivšek
+4  A: 

I don't know about the other initiatives you mention, but Pharo is a fork which aims at producing a version of Squeak without all the cruft (like EToys, for example), better developer support and use of modern (??) technologies like TrueType fonts. It's well worth downloading the current image and having a look - I find it a bit slow on my ancient hardwate, but I intend to keep an eye on it.

anon
+8  A: 

As far as 'How come such an unpopular language has such a vibrant set of developments happening?', I have to say that 'popularity' does not correlate with utility or productivity. A contrarian will tell you that the majority is always wrong.

When you get bitten by the Smalltalk bug, you tend to stay bitten. There are many former Smalltalkers who are earning their living working in other languages that miss the language and would jump at the opportunity to earn their living in Smalltalk again.

This phenomenon accounts for the vibrant community.

Personally, I find that I am at my most productive working in Smalltalk. The tools and the language work together to make the gap between idea and execution very small. In Smalltalk when I am faced with using an new library, I can use the debugger to 'parachute' into the middle of the action - viewing state and code in a single tool. You can't duplicate that experience by reading code and studying log files...

Smalltalk has its quirks and the quirks do keep Smalltalk out of the mainstream. But some of the quirks are what make Smalltalk a productive environment to work in, which may mean that it will never be mainstream.

But with a vibrant and active community supporting Smalltalk (in a variety of dialects) does it matter whether Smalltalk is mainstream or not?

Dale Henrichs
+5  A: 

A bit of background might be helpful: Tweak was a research effort trying to bring some of the great things from Etoys to the system level (i.e., the player-costume architecture, the concurrency model, "events everywhere", asynchronous notifications etc). Tweak was a "blue-plane" approach to graphics, composition and scripting and in some ways never really intended to be a production tool. That it became one was its downfall because it wasn't polished enough for wide use and by becoming a production tool it became infeasible to implement some of the radical changes that would have been required to make it ready for world dominance ;-)

Croquet had an entirely different goal. We needed Croquet because we needed a bit-identical replicated computation machinery. Croquet computes bit-identically on all platforms which required modifications to the virtual machine and some libraries (such as floating point). Cobalt is a spin-off from Croquet which takes the SDK and builds an application from it. In this sense Cobalt is not really a fork - it is the current focus of the Croquet community.

Many thanks for your answer. So am I right in understanding that Tweak, Croquet and Cobalt are for experienced Smalltalkers? Should a beginner concentrate on Squeak or perhaps Pharo?
KHWP
It actually matters very little where you start since the systems are so similar. Tweak is probably not a great starting point as it has some syntax changes that are not "Smalltalk" any longer and that might get you confused or (even worse) addicted to them. (would say more w/o stupid char limit!)
+1  A: 

I think there are that initiatives or forks because the community is able to do it :) This small smalltalk community is stuffed up with smart guys that know what they do. There is enough knowledge about virtual machines, language design and such. On the other hand it is like every other community, too. There are people with different opinions. So it is only a matter of time until a few people start "something slightly different" to check/realize their ideas. And they do because they can.

Norbert Hartl