Monday, July 6, 2009

Pharo – perhaps Squeak 2.0?

Saturday, two days ago, I had the pleasure of being present at the Berne Pharo sprint. It was not my first contact with Pharo, but close.

If I understand it correctly, then Pharo emerged because Squeak was torn into too many directions. Squeak was the one platform for child education, multimedia websites, and webserver development. Some code in the Squeak image was never released under a free licence, and the Squeak-licence itself is not an OSI-certified open-source licence. Squeak has more than 2000 open issues in its bugtracker, Mantis.

Pharo is a fork from Squeak that aims at removing cruft and turnung Squeak smalltalk into a more traditional programming environment, with a small core, stable and fast-evolving.

I am slightly suspicious about the reducing of the Image size. I don't know anything about it, but I still recall how in an interview, Dan Ingalls spoke about the advantages of an image that is NOT split into packages, where everything calls everything. I recall for myself that when I wrote a web application that was to send emails by itself, I was delighted to see that an SMTP client is included in a standard image already. It was fantastically easy to send an email message. On the other hand, I discovered at least one bug in the SMTP client code.

Still, I will use Pharo, and not Squeak, henceforward. The user interface is revised and does not look childish anymore. The number of open issues is small, and despite the alpha status, Pharo appears to be a lot more stable than Squeak. Pharo is already used as the reference implementation of Seaside, and thus, it is only a matter of time until it will draw a significant share of the Smalltalk world into using it for web development. Depending on how well it will manage to faciliate the installation of external packages, I would like to believe that for non-educational purposes, Pharo will take over all of the Squeak world, and serve as Squeak 2.0.


  1. There's already a Squeak 2.0 from a dozen years ago. We're almost done with Squeak 3.0, and Squeak 4.0 is weeks away. We're putting processes in place in the past few weeks to lower the barrier to entry to contribute to Squeak core, arguably a good portion of the reason that developers abandoned Squeak core to work on Pharo. I think once we get Squeak core's license clarified (which is not certified in any way for Pharo, making it questionable for commercial use), we'll be in a great position to create a smaller Squeak core so that all the variants of Squeak can live from a common base. it's do-able.... it'll just take some work.

  2. Hi Randal? Do I understand correctly that you find Pharo's licencing questionable? If I understand it correctly, a clear licencing was one of the core issues behind Pharo, and Pharo contains only code from people that have signed the written agreement to contribute under MIT licence.

  3. I went through many sites of the Smalltalk and agree with all the supporters of Smalltalk. Though Smalltalk is not that popular these days, there is a new renaissance in Smalltalk development, thanks to Squeak. The more I learn about Smalltalk and Squeak the more I’m impressed. If you are programming savvy it is worth a look. In the process of my learning I have collected some good sites (more than 200) related to Smalltalk and Squeak (lessons, tutorials and programming). If you are interested take a look at the below link.


Note: Only a member of this blog may post a comment.