git @ Cat's Eye Technologies The-Dossier / master article / The Aesthetics of Esolangs.md
master

Tree @master (Download .tar.gz)

The Aesthetics of Esolangs.md @masterview rendered · raw · history · blame

The Aesthetics of Esolangs
==========================

<!--
Copyright (c) 2013 Chris Pressey, Cat's Eye Technologies.

SPDX-License-Identifier: CC-BY-ND-4.0
-->

*   publication-date: Tue, 17 Jun 2013 23:10:00 GMT

An analysis of the aesthetics of esolangs — if esolangs are art.

### Abstract

I've been researching art, or whatever it is that people generally call
"art", for the purpose of seeing how it relates, or doesn't, to
[esoteric programming languages][].  In this article, I'll try to
examine the aesthetics of esolangs a bit more in-depth than I did in the
previous article (and it will probably make more sense if you've already
read that article: [Programming Languages as an Artistic Medium][].)

### The Aesthetics of Esolangs

A preliminary point I should probably make is that by "art" I do not
necessarily mean the "art world" (which consists of galleries, critics,
collectors, art schools, and the like.)  Nor do I mean "fine art".  I think
there's a certain amount of confusion that happens when the word "art" is
used because it is sometimes prematurely taken to refer to one or both of
those things, when in fact it needn't.  There is a whole universe of art
outside them: folk art, street art, outsider art, "arts and crafts", etc.
As far as I'm concerned in this article, if it was produced with an aesthetic
intent, and if it's consumed for its aesthetic appeal, it's art.  I will of
course conveniently dodge defining exactly what I mean by "aesthetic" here,
because that could be a whole article (or series of articles) in itself.
I'm hoping you might have a rough idea what I mean anyway.  And if not,
just trudge on regardless.

I do think esolang counts as art under the above definition.  Not all
programming languages are designed as art, of course, and not every
programming language designed as art is an esolang.  At the same time,
it would be difficult to pin down the particular aesthetics behind esolangs,
as opposed to other programming languages designed as art.  I mentioned
minimalism and Dada in the previous article, but these are certainly not
exclusive.  I'll mention a few others in a moment.

You could argue against my position here, by saying that what I'm calling
Dada is just parody (or satire or lampooning) and what I'm calling
minimalism is just the mathematician's tendency to reduce constructs to a
form that is as simple and economical as possible.  Well, I would say that
I don't think these are necessarily exclusive.

Dada (and surrealism) and parody (and satire and lampooning) all fall under
the rather broad umbrella of "absurdism", and while you can certainly have
Dada that isn't a parody, and a parody that isn't Dada, there's nothing
saying you can't have something that is both, too.  While [INTERCAL][] may
be primarily a parody of the programming languages of its time,
[this accompanying diagram](http://en.wikipedia.org/wiki/File:INTERCAL_Circuitous_Diagram.svg),
as just one example, would seem to go well beyond that.  Likewise, [ILLGOL][]
may have started purely as a send-up of compiler-based languages, but it
soon turned into
[a bizarre experiment in mixed media](https://git.catseye.tc/Illgol-Grand-Mal/blob/master/3.%20Illberon/doc/irl-may.jpg)
which defies easy classification.  And I can't look at any of
[Gerson Kurz][]' languages without feeling very strongly that satire is *not*
the only thing going on there.  It's not just piss-taking, it's actually
bladder-mauling, or rather... well, Dada is somewhat difficult to
decribe without outright descending *into* Dada; for a fuller explanation,
I refer the reader to Richard Huelsenbeck's *First German Dada Manifesto*,
which is the most comprehensible Dada manifesto I've come across
(which *is* saying a lot.)

On the other hand, the mathematician's tendency to make constructs as
simple and/or succinct and/or short and/or regular as possible, exists
presumably because it leads to solutions that are elegant and/or
eminently tractable (cf.
[Proofs from THE BOOK](https://en.wikipedia.org/wiki/Proofs_from_THE_BOOK).)  But, as pointed out
by Marvin Minsky in [Computation: Finite and Infinite Machines][], this
doesn't really work the same way when applied to models of computation:
making your computer as simple as possible will only make your programs
more horribly complicated.  (INTERCAL understood this too.)

But I actually think that this was, in some sense, recognized generally
in art-about-machines well *before* it was recognized specifically in
programming-languages-as-art.  More specifically, it was recognized by
Rube Goldberg in the USA, W. Heath Robinson in the UK, and as
[Chindōgu](https://en.wikipedia.org/wiki/Chind%C5%8Dgu) in Japan.
Machines are supposed to make life easier, when really they up and
make it more complicated at the same time.

Extremely interestingly (to me anyway), this ties back with the first
point.  Goldberg's and Robinson's illustrations were certainly parodies,
while Chindōgu has a very strong Dada feel to it (while at the same
time holding a tenet that it should not be *only* parody.)  The theme is
one of complexity coming, unbidden and unwanted, from attempted simplicity;
and while the underlying fulcrum may be different in esolangs
("Beware the Turing tarpit") than it is for labour-saving devices in
everyday life, it's the same dialectic (can I call it that?  I probably
shouldn't, I hate that word) and that may explain why Dada and minimalism
both appear to occur prominently in esolangs.

But I do want to stress (as I said) that these are not the only aesthetic
strains in esolang.  Another one that's quite strong, I'd like to call
"Pop art" based on how its appeal works, but is probably better thought of
as a kind of applied
[skeuomorphism](https://en.wikipedia.org/wiki/Skeuomorph).  This is where the
programs of the esolang are easily recognizable as some other artefact
that exists in the culture, usually completely outside the domain of
computers.  The most blatant examples are probably
[Chef](http://esolangs.org/wiki/Chef),
[Shakespeare](http://esolangs.org/wiki/Shakespeare), and
[Piet](http://esolangs.org/wiki/Piet).

Are there other aesthetic strains?  Yes, but I think we start skiing down
the long tail when we look for them, as there are fewer and fewer examples
of each, the more we look.  [zzo38][]'s languages (particularly
[Please Porige Hot][]) honestly remind me a lot of outsider art: looking at
them, you get a borderline-incoherent glimpse of an entire world that
presumably exists inside his head that you will never fully appreciate —
although, clearly, it includes many programming languages.
[Homespring](http://esolangs.org/wiki/Homespring)'s "metaphorical" paradigm
could perhaps be considered
["Slice of Life"](http://en.wikipedia.org/wiki/Slice_of_life),
and there are of course elements of tragedy and pathos in several esolangs,
for example in [Larabee][] and [Half-Broken Car in Heavy Traffic][].

I'll try to conclude this with a few related, but perhaps more general,
questions of aesthetic classification.

Are esolangs [conceptual art](http://en.wikipedia.org/wiki/Conceptual_art)?
Yes — but that's a very reservedly qualified "yes".
Certainly, the central building blocks of programming language
design — that is to say, [programming language constructs][] —
are almost purely conceptual in nature.  "Loop" is a concept, "assignment"
is a concept, and so forth.  So in this sense, they are definitely
conceptual art if they are art at all.  On the other hand, conceptual
art is an utterly huge category of art which defies delineation
(yes, thank you post-modernism, thank you for that simplification, it really
makes our lives easier, really it does.)  If esolangs are conceptual art,
they occupy a very narrow strip of that field, mainly due to being
(voluntarily!) constrained by the ideas of computation, logic, and
communication.  At the end of the day, they *are* programming languages,
and they should, arguably, at least look or act like them.

Are esolangs [digital art](http://en.wikipedia.org/wiki/Digital_art)
(or "electronic art" or "computer art")?  Well,
no in fact, if we go by the previous paragraph, strictly speaking they're
not; they're made up of *concepts*, and these concepts would exist even if
our computing equipment wasn't electronic, or wasn't digital, or if we didn't
have computing equipment at all.  It's just that having computing equipment
makes it a lot easier to design and experience these programming languages,
to the point where if we didn't have the computing equipment, very, very
few people would care about them (even fewer than now!)

Are esolangs [abstract art](http://en.wikipedia.org/wiki/Abstract_art)?
Well, that's debatable, but I'll say this:
programs in esolangs can certainly be *enjoyed* as abstract art, even if you
don't know anything about programming (and especially if you like
[ASCII art](http://en.wikipedia.org/wiki/ASCII_art).)  But that's certainly
not exclusive to esolang (cf. the [IOCCC](http://en.wikipedia.org/wiki/IOCCC))
and it certainly doesn't end there.

I'll finish up by muddying the waters even further by presenting you with a
handful of pieces of *visual* art that feel very "esolang-y" to me even
though their creators have quite possibly never even heard of esolang.

*   [The Railway Crossing](http://en.wikipedia.org/wiki/File:Leger_railway_crossing.jpg) by Fernand Léger
*   [Untitled (Street Fighter tableau)](http://static.catseye.tc/images/curated/pictures/ibmS7uAFLGOZ0n.jpg) by an unknown artist
*   [Untitled (Large Graffiti Slogan)](http://static.catseye.tc/images/curated/pictures/ibohvPpSWwWuzd.jpg) by Banksy

(And I would be remiss in neglecting to also mention that there is at least
one work of visual art which was *directly* inspired by an esolang, namely
[G E M O O Y](https://www.dropbox.com/s/r4p796fxnkt2wbu/GEMOOY%20project%20NOTES.doc?dl=0) by misen23.)

[esoteric programming languages]: http://catseye.tc/node/Esolang
[programming language constructs]: http://catseye.tc/node/Language_Construct
[Programming Languages as an Artistic Medium]: Programming%20Languages%20as%20an%20Artistic%20Medium.md
[Half-Broken Car in Heavy Traffic]: http://catseye.tc/node/Half-Broken_Car_in_Heavy_Traffic
[Larabee]: http://catseye.tc/node/Larabee
[Please Porige Hot]: http://catseye.tc/node/Please_Porige_Hot
[INTERCAL]: http://catseye.tc/node/INTERCAL
[ILLGOL]: http://catseye.tc/node/ILLGOL
[Computation: Finite and Infinite Machines]: An%20Esolang%20Reading%20List.md#computation-finite-and-infinite-machines
[Gerson Kurz]: http://esolangs.org/wiki/Gerson%20Kurz
[zzo38]: http://esolangs.org/wiki/User:Zzo38