8/05/2007

Squeak

My latest programming fetish is turning out to be Squeak. Squeak is a Smalltalk environment that provides a unique UI interface called Morphic. Although there are many educational uses for Squeak, it's a full-fledged, grown-up Smalltalk environment.

What drew me to Squeak? I had been hearing about Squeak for years. Occasionally I'd download it, click around, and say things like, "Wow, this is weird." or "This looks like a cartoon." or "This must be for kids." Every time I looked at it, my curiosity would grow. Finally, the last time I downloaded it, I felt like I was being led to learn why everyone thought it was so great.

One of the first things that slaps you in the face is how different it is to interact with Morphic. It is an interface that is immediately usable, but it takes a bit to get used to it. Everything that is visual in Morphic is a Morph, which means you can interact with it, inspect it, embed it in other Morphs, etc. Although this gives the entire system a very layered and consistent feeling, it was something that I didn't know if I really liked. I mean, I'm the kind of programmer that prefers Emacs!

I decided I needed to dedicate some time to it and not blow it off as I had so many times before. Boy, am I glad I did. It's been 3 weeks or so now, and I'm growing extremely fond of Squeak. I have worked through some of the tutorials on Morphic programming. I've also played around with some of the Morphic direct programming using Viewers and scripts. I've been studying code and extended FileList2 to allow tagging files and storing the results with SPrevayler. I've been having lots of fun.

That brings me to what is continuing to pull me into Squeakland. I'm having fun. Squeak is just fun to use and hack around in. It makes me feel creative because not only can I code up things easily, but, thanks to Morphic, I can decorate my projects and workspaces with pictures, text, drawings, etc. In fact, I could use those same elements in my Morphic applications. It just makes me feel like anything is possible and that I'm some mad, creative inventor in my little virtual lab.

Thank you Squeak team.