In contrast to [[Chris Pressey's Lingography|the list of languages I've designed]],
in this article, I talk about what it's *like* to design languages
and what my thoughts on certain languages and the design process are.
Mostly I design [[Esolang|esolangs]], which, in a nutshell,
changes over time as I look at them from different angles, while others
are simply difficult to fully conceive or implement —
[[Burro]] and [[Okapi]] come immediately to mind.
+Programming Languages as an Artistic Medium:
+ publication-date: Sun, 21 Apr 2013 10:40:16 GMT
+ article-date: Apr 21 2013
+ A consideration of programming languages as an artistic medium.
+ In light of [recent developments](https://github.com/cwales/cwales.github.com/issues/1),
+ it will perhaps not come as a surprise that here at Cat's Eye Technologies
+ we consider programming language design an artistic activity, programming
+ language an artistic medium, and [[Esolang|esolang]] a movement within that
+ medium. In this article I expand on those points a bit.
+ Proglang-as-art is a thesis I've been toying with for about a decade now, and
+ it's about time I wrote something explicitly about it. But really, there is
+ not a whole lot to say about it directly. Most of the issues that require
+ elucidation involve the surrounding context, and I can only speak cursorily of
+ those. But let me assure you that this does not "elevate" proglang or esolang
+ to an "art form"; post-modernism ensured the death of such standards, it's just
+ taking a while for all the snowmen to melt. (I'm sorry, I know how much you were
+ hoping for an excuse to act insufferably pretentious. ☃☃☃)
+ Esolang has strong connections to [Dada] (think [[INTERCAL]]) and
+ [Minimalism] (think [[brainfuck]]). These are almost certainly due to it
+ against the deep-seated "modernism" of the medium — programming languages are
+ regarded as tools for serious work, and for some people, it is difficult to
+ imagine them as anything else. "They must be more powerful, more featureful,
+ must make it easier for us programmers to produce correct and maintainable
+ I am ingracious here in calling programming languages "tools". It is important
+ to note that programming languages are *not* programs, even though they may be
+ *implemented* by programs.
+ If we take as a provisional, throwaway definition of art "that which is created
+ to induce an experience" then we may focus on the *experience* of using the tool
+ instead of the *results* that can be achieved by use of the tool. Thus the
+ esolang is intended to be experienced, as a medium of expressing computations,
+ by a programmer. The language is, generally, composed in such a way so as
+ to make this experience an unorthodox one,
+ to try to provide an interesting form of engagement for the programmer
+ who enjoys programming in and of itself, as an activity, and who may be bored
+ with conventional languages, or curious about other approaches, or both.
+ This effect extends to adjacent levels. A program written *in* an esolang
+ itself provides an unorthodox experience to the programmer attempting to
+ comprehend or alter it. By implementing esolangs in other esolangs, and using
+ other techniques such as quining, this effect can be made to extend quite far.
+ The principle, of course, applies to non-"esoteric" programming languages too,
+ and to a large degree to languages outside of "programming" proper, especially
+ those expressive enough to describe themselves. But esolang does seem to be
+ one community where there is significant, concentrated activity going on in
+ And, um... really, that's the nub of it, I think. There are a lot of nooks
+ and crannies that could be explored — idiosyncracies of the medium; relationship
+ to other media; practice versus production, production versus communication,
+ and so forth — but that's the basic idea.
+ Personally, I'm presently interested in
+ [[Online Installation|making these works more accessible]] —
+ even though it may take an skilled programmer to appreciate the experience of
+ programming in an esolang to the maximum extent, that doesn't mean that said
+ experience needs to be restricted to skilled programmers. Or even to only
+ programmers; the non-programmer may look at a piece of [[Java]] code and say to
+ themselves, "it's all Greek to me" — well then, behold these specimens of
+ magnificently perverse über-Greek!
+ I see [[HTML5]] as a way to, finally, get computation into the hands and eyes
+ of the masses (the Internet-capable masses, at any rate). It's never been kind
+ to ask a random person to install and use some command-line tool just to
+ seriously before HTML5, and it's always been difficult to take Java applets
+ and Flash seriously. I also see HTML5 as an artistic medium in its own
+ right, and I'm interested in exploring its potential and limitations, and
+ how these may (or may not) be combined with esolangs and computation in
+ [Dada]: http://en.wikipedia.org/wiki/Dada
+ [Minimalism]: http://en.wikipedia.org/wiki/Minimalism