I bet you’re wondering what I’m doing, right? Of course you are! Waiting with bated breath for my every word and phrase… how can I blame you, really? Well, just so you’re aware, no, I haven’t yet become fabulously wealthy, enabling me to abandon my roots and live a life of hedonistic pleasure seeking. Nor have I discovered a cure for some life-threatening ailment, thus securing my name in the annals of history.

However, I have found myself playing around with Squeak after a rather long hiatus, and I’m reminded again of how freakin’ awesome Smalltalk is as a language, and Squeak as a programming environment.

Of course, you might ask yourself… huh? Well, perhaps I can alleviate your confusion by explaining a little bit about Squeak and why it’s so, to repeat, freakin’ awesome. Imagine an operating system kind of like Windows. It has your usual complement of windows, dialogs, buttons, and so forth, and comes packaged with a couple interesting little toy applications. However, when you right-click on a window, you can pop up a debug menu with an option that says “browse class”. Selecting this option opens up a window which allows you to actually explore or modify the source code to the Window class itself. And this is true for any and all objects in the system.

So, can you see why this is neat? In essence, every single aspect of the system is exposed to the user, available should they want to explore or modify it. To top it off, the entire system is written in Smalltalk, which is easily my favorite object-oriented language. Frankly, I wish I could have had access to Squeak back in my formative years… given the way it encourages exploration, it’s really the ultimate child’s programming environment.