[squeak-dev] Why would you choose Squeak today?
colin at wiresong.com
Mon Sep 24 07:46:04 UTC 2012
On Sun, Sep 23, 2012 at 5:00 PM, Hernán Morales Durand
<hernan.morales at gmail.com> wrote:
> No flame war intended. Maybe this topic has been discussed on this list, but
> I've never found a satisfactory conclusion. With "today" I mean why to start
> a software project *from scratch* with Squeak?
Well, here's why I chose Squeak for my project.
First, it's a mature open source project. The source code for
everything is available, and the history of development goes back for
quite a long time. That means that the Squeak ecosystem is quite well
developed. There are all sorts of ports, spin-off projects, libraries
and applications that have been created over the years. There's a lot
of expertise in the community, and they're happy to share it.
Second it's remarkably stable. There is forward progress, and there
are changes that break compatibility between releases, but it's not
done capriciously. For several years I kept OmniBrowser working all
"modern" Squeak releases, from 3.4 to 4.0. I don't bother with that
any more, but I think that's a pretty amazing continuity from one
release to the next. There are lots projects that were written against
older versions of Squeak and haven't been maintained, but which are
pretty easy to tweak if we want to use them on the latest version of
Squeak. (For example, Ian just updated his VNC implementation.)
Third, the future looks bright. We finally have a solid JIT compiler
in Cog, which has already delivered significant performance
improvements, and Eliot seems intent on delivering further
improvements in the future. I'm really happy with the port of Xtreams
from VisualWorks, and looking forward to Environments in Squeak 4.5.
Spoon also seems to be coming along steadily and I think it could
really improve the scalability of Squeak.
And finally, I just find it a pleasant system to work in. The UI is
clean and simple, and with web and mobile apps so common now, looking
"weird" isn't nearly as much of an issue as it used to be. I find
Lukas' port of the refactoring engine gives us an excellent IDE,
absolutely on par with any other Smalltalk system. I don't feel "at
home" with any other tools the way I do in Squeak.
As for other Smalltalks, I really like VisualWorks. It's fast, elegant
and powerful. It has a great team building it and great community
using it. I can't afford it for my current project, but I've used it
before, and I'll probably use it again.
Pharo, I feel more ambivalent about. When the project was first
announced, I was very interested, because I really felt there was a
need for a Squeak-like system that did away with unnecessary baggage.
But I don't like the way the project ended up developing. I find the
UI visually heavy and awkward to use. I find Polymorph way, way to
complicated and all the indirection introduced by themes makes the
design difficult to follow. There's a lot of churn in the
codebase—gratuitous changes that break compatibility but aren't really
improvements. I really like the energy and ambition of the Pharo
community, but I find it exhausting trying to follow what's going on
and I don't enjoy the confrontational style that it seems to
encourage. Pharo is certainly promising, but it hasn't yet delivered
on that promise.
Squeak has been my favorite environment for quite a long time, and it still is.
More information about the Squeak-dev