[Newbies] Squeak vs. Smalltalk

David Mitchell david.mitchell at gmail.com
Tue Apr 21 03:28:15 UTC 2009

What makes Squeak special is the Squeak community. Fantastic history
and tradition. Inspiring thinkers. Colorful ideas.

For someone used to commercial Smalltalk development, Squeak is a bit
of a siren song. I've certainly felt that way. Much of Squeak's GUI
wasn't built to satisfy commercial developers, but to get some wild,
crazy, next generation media playground for kids and adults to
experiment with. Very trippy but sometimes frustrating to someone who
just wants to build a CRUD GUI.

If you want to build for the web, Squeak is a nice home for Seaside
development. I'm currently using Pharo, which is still Squeak to me,
but it may diverge in the near future.

Now to get a little pedantic:

Squeak is a Smalltalk. It is written in Squeak Smalltalk*.

Visual Works is a Smalltalk. Most of it is also written in Visual
Works Smalltalk.

All Smalltalks have little variations. There is no downloadable,
runnable thing called Smalltalk proper. You might call Smalltalk-80
Smalltalk proper. Squeak and VisualWorks both descend** from
Smalltalk-80**. You might also call ANSI Smalltalk proper, but there
is no implementation of Smalltalk that is only ANSI Smalltalk.

If you want to write code that you can take from one Smalltalk into
another, you're in for a bit of a bumpy ride. The Seaside team
probably has the most broad and most current experience here. Looking
at the work they are doing for 2.9 (as well as their coding standards)
are a good things to emulate.

Squeak and GNU Smalltalk are both open-source. GNU is GPL, natch.
Squeak predates the OSI definition of that term and so has a more
colorful license history, but it will (soon) be MIT with bits of APSL.

VisualWorks and GemStone are not open-source, but each provides
professional commercial support and licenses that make it easy to
start exploring and developing. VW is probably the most mainstream,
commercial tool. GemStone is the leader for big Object-Oriented DBs.

Instantiations still supports VisualAge Smalltalk (formerly IBM
Smalltalk). Also good commercial support.

Lots of other Smalltalks I'm leaving out.

Between Squeak and GNU, Squeak is the more traditional, image-based
Smalltalk. GNU keeps its code in files, which makes sense to most
non-Smalltalkers. But, as MarkusQ wrote recently:

"Trying to get your head around smalltalk without using the IDE is
like going to Paris and eating at McDonalds. Sure, you're in Paris,
but you aren't really exposing yourself to what it's all about."


* There are a few parts of the Virtual Machine that are written in C,
but even those are actually written in a pidgin (reduced) Squeak
Smalltalk called Slang. It really is a C subset with Squeak Smalltalk
style. The benefit of this is you can simulate the VM using Smalltalk
tools as you develop.

**and lore has it they may actually both still be running some of the
same bits as an ancient Smalltalk image.

On Mon, Apr 20, 2009 at 9:44 PM, Avidan Ackerson
<avidan.ackerson at gmail.com> wrote:
> I know that Squeak is written in Smalltalk, but are there specific
> advantages to Squeak over Smalltalk proper?
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners

More information about the Beginners mailing list