10 September, 2006

A piece of history

Like a Rolling Stone

I finally got the Squeak CD downloaded, took six days over bittorrent. There’s a lot of historical stuff on this CD, though I was surprised as anything to actually find out that there’s actually a DVD available as well. For only the princely sum of (probably US)$9.95 through a paypal account, I too can have an entire DVD’s worth of Smalltalk and Squeak goodness, whatever that all is.

Hey Mister Tambourine Man

So anyhow, I was playing around with this yesterday now that I’ve got it burned to CD and all, and stumbled across the "BotsInc" environment, used to help with a book aimed as a tutorial by programming "bots". Sort of like LOGO (if any of you remember that, feel privileged, most of us are too young) but done Squeaker style with most of a squeak image emptied and only the bare essentials left in to teach about controlling the bot.

Glory Days

Reading up on the history of Smalltalk from its origins back in 1961 up to the release of Smalltalk-76 was quite enlightening, even though I had to rotate the pdf through 90 degrees and increase the font size by about 80% just to read it. Lots of design decisions got talked about, as well as the original view of the author, to produce an environment that kids would naturally want to explore in. Hearing about some of the initial hardware the creators had for working with seemed a bit baroque, especially when they said that the 8086 CPU was a non-optimal chip to use.

Secret Garden

Anyhow, I expect that just like a secret garden, there’ll be all SORTS of things to find out about inside the average Squeak image, let alone the other three or four images that are provided to experiment with, including a whole Web application environment. That one surprised me, but it shouldn’t have. My puzzle is: how do I get access to the environment from outside the Squeak image? At the moment, I don’t know.

Wild World

Just like Cat Stevens of 1970’s singing fame, I feel like this is a switch back to the simpler things of computing—where stuff was experimented with, and it just workedTM. There’s a lot of stuff to re-learn, and probably a whole lot of stuff to learn from new. I hope I enjoy it.

A little bit of reference

I first stumbled across the Smalltalk language when Bruce Eckel, of Thinking In Java fame had described his brief brush with how Smalltalk experts just seemed to grasp certain subjects almost intuitively, in comparison to other programmers who had more of a hard time with those same concepts. Bruce thought it might have been due to the design of the language, where literally everything is an object, and unlike Java, there are no primitives—no Integers, no Floats, no Chars, etc etc. If you create an object, you can put almost anything into that object. For those of us used to lowest-common-denominators of strong typing, having a system whereby you don’t have raw types (int, long, char, float) as a basis to build other types out of can be in some senses totally foreign, yet after a while, it becomes liberating to not have to deal with what type an object is.

Learning to walk the Smalltalk

I’ve yet to learn how that works, as I’m still getting to grips with the bare essentials. The History Of Smalltalk described this phenomenon as well, stating that at the beginning, we quite often have more trouble just thinking in the field natually, because we don’t even know the building blocks of the language; we’ve got no idea of how even to do the simplest of things that we’re used to being able to do in the other languages we’ve learned. And in fact, sometimes what we have learned in those other languages is actually holding us back, because the assumptions of the previous environment simply don’t fit. Stuff like strong typing versus weak typing, or perhaps no typing at all; early binding versus late binding; syntax issues (my current weak point); and of coucse the simple feel of the language are all things to consider when looking at such a different beast as Smalltalk.

Coda

Anyhow, I’m sure I’ll have fun. I’ve got a bucketload—well, okay, a CD load of books to peruse to help me learn the language. I only wish some of these books were available inside the image so I didn’t have to flip between inside the Squeak world and outside just to go read a document. Wish me luck, and if you want to comment, feel free. In fact, do comment, it’ll let me know what you think.

No comments: