Please Turn Off Your Pseudocode Jokes

Before this weblog begins proper, a brief announcement of an eternal, unchanging strategy.

Programming jokes based on emulating code are not ever funny. They chafe at the mind of their target audience the way the question whether a conjoined twin has “bonded” with its fellow twin must be. Not only are they focused on the form instead of the meaning, they are tired and predictable and don’t bring along insights nor laughs. To they extent they even qualify as humor, they are the “em, er, uh” of their art form — awkward filler to fill a less awkward silence.

So, in short, there won’t be any here, ever. There may be puns based on keywords — you try to catch me doing that though — but there won’t be any pseudocode.

Hello, World!\n

Can you ever start a weblog about programming languages without naming the first post “Hello, World!”? I am uncertain. It may lex fine, but it is grounds for disciplinary action if you treat warnings as errors. I hope you enjoyed that last sentence, because that’s what this is going to be.

Within days of starting out with programming, I became interested in programming languages themselves. Not just as crude tools that enable the act of programming, but as utensils that shape it. They are all different. They all have various characteristics. They all take the first opportunity to divide the world into a thousand aspects of which there’s a spectrum of possibilities, and more often than not, take off towards one extreme or the other.

The Sapir-Whorf hypothesis teaches that the extent of what is possible to express also forms the extent of what can be practically considered. It’s not enough that programming by itself is the language by which we tell the device what it should do; the language shapes the way in which we do it. It seems like there would be a big interest in trying to expand this extent, and history bears this out.

It is interesting being a programmer right now. Even if Alan Kay is right and nothing new has truly come out of computing since the 70’s, it doesn’t feel like it. Tethered as we may largely be by C and its historical legacy[1], there’s a hunger to take off in the opposite direction — a tension just as strong as that between, say, statically and dynamically typed languages.

So rather than try to take the time to distill the best features into my own toy language, I thought I’d start to write them down here instead. I already keep a weblog in the form of waffle, and sometimes weblog posts just appear in my mind. Maybe if I could train myself to write stmts posts as often and well as waffle posts, I will be able to connect the dots further.

[1]: By legacy, I mean the dictionary definition of “things that have been and shaped what was to come”, not the prevalent passive-aggressive industry speak for “things we have actually gotten around to deprecating, or which belong to the technological platform of our competitor, and which are therefore clearly unusable”. “Historical legacy” is a tautology, but it was meant to convey a wider perspective than the other usage.