My favorite way to learn a new programming language is to build a project with the new language. I learn best when I’m having fun, and I test my new languages by building a simple database-backed e-card web site.
E-card sites are old hat, but they cover a lot of territory: you learn to read directories, manipulate images, create HTML, process forms, store information in a database, and send e-mail. I like this project so much that I use it in my PHP and Ruby classes at CCSF. Here’s the kind of site I end up with. I’m not a designer, so I get some slack on the way the site looks.
Since there are several popular Smalltalk dialects, I have to make an important decision. The problem is that I’m a newbie, so I’m going to have to guess which direction to go: commercial or open source.
I know that Cincom is a leading provider of Smalltalk solutions. The Cincom Smalltalk evangelist (James Robertson) provides a steady stream of good content, commentary, and instructional videos on cutting edge topics, such as WebVelocity and Seaside, my ultimate destination. Cincom VisualWorks is available as a free non-commercial community edition.
My other choice is Squeak, an open source Smalltalk. Alan Kay, the creator of Smalltalk, is part of this project. A few years ago I worked my through Learn Programming With Robots by Stephane Ducasse. This book is designed to use Squeak to teach programming to children, and I, a rather large child, loved it. The look and feel of Squeak is rather toy-like, colorful and fun—quirky, some say. Under the surface it’s all business. The main appeal of Squeak is that I am familiar it.
However, I am leaning toward VisualWorks, but there one deterrent. I’m running a Hackintosh as my main desktop, and some VisualWorks Aqua features are not rendering correctly. The X11 version works, though it is, as you would expect, homely. I know that the real solution is to ditch the Hack and buy Genuine Apple hardware.
The Squeak interface, on the other hand, renders fine on the Hackintosh. Both VisualWorks and Squeak work perfectly on my Macbook Pro. The question is, can I live with the X11 version of VisualWorks on my work station?
I’ll sleep on it and decide tomorrow. Will I go right brain, or left brain? I’m counting on the Collective Unconscious to help me decide.


{ 3 comments… read them below or add one }
I'd love to find out whether the latest 7.7 build has the same issues on your machine. Send me an email if you're interested in checking that out: HIDDEN EMAIL
You should also consider GLASS (http://seaside.gemstone.com) which will totally eliminate any ORM layer that you might need, since the objects you create will already be persistent. It's quite cool!
Randal,
Thanks for the heads-up. GLASS looks like an awesome leap beyond the web stack mess we have with PHP/Ruby/Python solutions. I teach those languages, by the way, but I confess that my enthusiasm these days is reserved for learning Smalltalk. Hey, I've even been dreaming about it lately.