In our last STS302H meeting we read and discussed the Capstone Projects of graduating Benjamin Franklin Scholars. One of the themes that showed up in multiple papers was creating art with technology not typically associated with art. In the same vein, I recently discovered a community of people who create and use “esoteric programming languages.” Esoteric programming languages are designed to experiment with weird ideas, to be difficult to code in, or to amuse the user. These goals, and the fact that they directly contradict the goals of conventional languages, are what make esoteric programming languages so interesting.
The first language I stumbled upon was SPL (Shakespeare Programming Language), SPL’s goal is to make the code look like a Shakespearean play. In SPL the only valid variables are names of characters in Shakespeare’s plays. Instead of using typical operators (,+,-,*,/) the characters speak to each other in long winded convoluted sentences which the language interpreters as more typical operators. From there I discovered other esoteric languages such as Ook, aka the Orangutan Programming Language, where one codes using only the word “Ook” followed by various punctuation and Piet where one codes by making paintings in the style of the artist Piet Mondrian. There are even languages like Java2k where there is only a certain probability the statements in the program will execute as intended.
After reading about esoteric programming languages I began to wonder about the ultimate purpose of creating these languages. Obviously each individual language has its own goal, but as a whole I believe the goal is to subvert expectations of coding. Coding has always been portrayed as a serious matter and as a tool for accomplishing a specific task. So by taking the time to build a whole programming language that is meant to be ineffective at coding’s typical purpose one has created an interactive art piece that hopefully makes any observer begin to question the boundaries and purposes of coding they’re accustomed to.
Further reading if interested:
Shakespeare Programming Language
Ook
Piet
Piet Examples
java2k
Esoteric Programming Wiki
Interesting Article