bikeshed: Welcome to the bike shed

25 July 2015

Like a small number of thoroughly sanity deficient programmers, I've long yearned to create my own programming language. A couple of years ago, I started writing down language ideas that occurred to me, or particular annoyances with languages that I was using at the time, and potential alternatives. This sediment has massed into a fertile soil into which the seed of a new language could be planted. Fortunately, circumstance and good sense have kept me from burdening the world with yet another programming language, but the burning in my heart remains.

I expect that all of my half-baked ideas would fall apart when the rubber hit the road, and I'd find myself compromising my way toward the same barely coherent mess that every long-lived and widely-used programming language has become. But even that healthy skepticism is not enough to deter me. To truly instill the requisite humility and despair that are necessary to prevent this unholy act, I feel that I need to discuss these ideas in public and have thoughtful, intelligent people (that's you dear reader) point out all the ways in which they will fail.

So welcome to the bike shed. My goal is a weekly post on a single programming language idea, sometimes syntactic, sometimes semantic, which I hope will be met with thoughtful, reasoned discussion and debate. If the occasional religious war breaks out, I can only hope the casualties are minimal.

I also feel obliged to state my own prejudices up front. If you find them particularly offensive, it may not be worth your time to try to convince me to radically shift my world view. But if you have the stamina or the perverse desire, I welcome all well reasoned dissidence. Now then, the list:

In addition to these general prejudices, I will also admit to being a big fan of Scala. I feel that Martin Odersky has exercised a great deal of good taste in shaping it over the years. He has also been (understandably) very experimental, and has grown the language into a shambling mess, but there are a lot of diamonds in that rough. Thus you'll find that I tend to operate from a baseline position of "Scala: the good parts" and explore from there.

Now that we have these preliminaries out of the way, let's get on to the first post.

©2015 Michael Bayne