Saturday, July 08, 2006

Taking Refuge in J

Yes, J is a computer language, published by J Software. As I understand it, J is a collaboration between the late Kenneth Iverson of APL fame, and Roger Hui, with Kenneth's son Eric also taking an active developer's role and so on, in wider and wider circles (every novel line of J is in some sense a contribution to the language).

I retreat into J every now and then, sometimes as an antidote when I can think of nothing but Python. Although J supports an object-oriented way of thinking (as does Scheme and/or LISP) that's not the first model one thinks of. Rather, J connects to concepts familiar to English grammarians: word, sentence, noun, verb, adverb and so on.

Instead of learning a computer language through some math-oriented namespace (the usual approach), J pioneers a whole different set of associations, all with the intent to wean you from easy tutorials, and put you right into the J Dictionary (a source you'll use even when you're a pro).

However, unlike English, J is more right-to-left than left-to-right, but with little leap froggy motions, where dyadic and monadic verbs hook and fork in various ways. It's kinda creepy how much dense mathematics cram into a single line, when you start hopping around in this way. Probably something like how DNA gets so much done.

Sometimes I imagine projecting J on a bed sheet somewhere, strung between two trees, camp fire crackling. We've already looked at Stellarium and Celestia, and quite a few of them are already asleep, given the long day of tracking moose or yak or whatever. But for those still wakeful, here's some fun mathematics guaranteed to knock your socks off (if you still have any).

And now, pleasant dreams.