15 Feb 2005 Ohayou   » (Apprentice)

After reading A Conversation with Alan Kay, I got curious about the programming language Squeak, and its Smalltalk heritage. While the interview does wave past the most interesting bits, it did toss out a few interesting thoughts worth lingering at. Just like how it would have been well off to linger more at some unstated topics. For instance -- assuming neither Intel, Motorola nor "any other chip company" know the first thing about microprocessor architecture excellence (not an entirely improbable statement to hold some amount of truth) -- please back that up with some in-depth discussion about what was in fact so good about the B5000 design.

So in sifting through the article, the most thought provoking statement was not much on the topic of tech stuff, but on culture, and pop culture, in particular. While I have not to date thought of a programming subculture as pop culture, it obviously has been since the home computing boom and probably will stay so, if not indefinetely, then at least for as long as the world of programming has any amount of romance and intriguing possibilities about it to offer the youth. Kay's observation "Once you have something that grows faster than education grows, you're always going to get a pop culture" struck a chord in me, in formulating why Perl, PHP, Java and mostly any other lesser weasel so easily and seemingly randomly get wide spread and recognized at the expense of better options, that are almost always on offer. The little perfectionist in me has festered on the subject for a fair amount of time, failing to make the connection to schools and learning institutes, despite actually aiming for the teaching profession myself.

Pop culture isn't about quality, but of perceived quality. It takes a working knowledge of a field to find and judge quality, filtering away lack of quality at a glance. Or, as Harry Järv (wise keeper of many books) stated it: "to learn to appreciate quality [in books], the only way is to read a lot". Quality or junk; without taking it all in, you won't get any frames of reference to relate to, and you will end up embracing something on random merits when browsing through your options. It applies just as well to music, as to books, art, or indeed the art of programming.

To get back to the article, though, it did rouse some curiosity about Squeak, and after a brief microfrustrating search navigating the site for a language specification, or any kind of related facts about it, I ended up with some overview outlining some history and theory of both languages. After some initial (mandatory?) waving of e-wangs and similar territorial marking rituals, the document lets the prestige levels fall to constantly berating C++ (or Java) in talking about how Smalltalk and Squawk do things instead but in a less smelly fashion. Fair enough; the document probably loses a few readers on making skirmushes of every difference between favourites and the unknown player, but in not being too attached to either target, impact was limited on my part.

I suppose this attitude is one of the random factors limiting the spread of Squeak, that I think the Python guys have addressed much better. At least my gut feeling says the Python people manage to strive for excellence and adopting raisins from other camps without making enemies this way. Of course this article doesn't have to represent the language camp's disposition, but those kinds of attitudes unnervingly often spread from a source deep within the group and then stay cemented. Let's hope this isn't the case, if Squeak is indeed something worth more than a brief surveying look. I'm not convinced yet, but have only covered half the intro too.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!