Tree @master (Download .tar.gz)
- 20th-Century Visual Artists of Note.md
- A Basic Theory of Video Games.md
- A Note on Items of Note.md
- An Esolang Reading List.md
- Apple II Games of Note.md
- Atari 2600 Games of Note.md
- Befunge Silver Jubilee Retrospective.md
- Blurry Memories of DOS Programming.md
- Classic Computer Games.md
- Classic Text Adventures.md
- Commodore 64 Games of Note.md
- Computer Games of Note.md
- Computer Sports Games of Note.md
- Licensed-Character Video Games of Note.md
- Lost Games.md
- Perspective on Text Adventures.md
- Programming Languages as an Artistic Medium.md
- Recollected Games.md
- Retrospective on Language Design.md
- Role-Playing Games of Note.md
- Some Modern Retrogames.md
- Some Notes on Drawing.md
- Some Notes on Proving Programs Correct.md
- Some Production Programming Languages.md
- Text Adventures of Note.md
- The Aesthetics of Esolangs.md
- Video Games of Note.md
Programming Languages as an Artistic Medium.md @master — view markup · raw · history · blame
Programming Languages as an Artistic Medium
- publication-date: Sun, 21 Apr 2013 10:40:16 GMT
In light of recent developments, 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 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 being a reaction 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 code!" Orly.
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 this direction.
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 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!
(If you enjoyed this article, you may wish to continue reading the second article in this series, The Aesthetics of Esolangs.)