Computer hackers, nerds and those with way too much time on their hands often invent their own esoteric computer programming languages, just for “fun.” These languages are designed to test the boundaries of traditional programming languages. Esoteric computer programming languages can be described as weird, crazy, unusual, and obfuscated. The purpose of esoteric computer programming languages, which are designed with the purpose of having no purpose, is to frustrate and confuse fellow computer programmers. These are not meant for average human computer-user consumption. Warning: those who try to make sense of the following esoteric computer programming languages may experience explosion of the frontal lobes.
Also called “the performance art of programming,” INTERCAL is the earliest esoteric programming language known. It was invented in 1972 by Princeton University students Don Woods and James M. Lyon. It stands for “Compiler Language With No Pronounceable Acronym”. This esoteric programming language was designed to be completely different from all other computer programming languages at the time. It parodies the common programming languages of the day, such as Fortran and COBOL. INTERCAL’s intention was to be a language that shared nothing with other computer languages of its time.
This stack-based language with single-character commands and variables was created in 1992 by Wouter van Oortmerssen. Its syntax was designed to make it intentionally confusing and unreadable. It has a compiler of only 1024 bytes. FALSE is designed to be a bit more sensible and capable of being understood than other esoteric programming languages. FALSE has been used in toy programs, a compression program, an expression evaluator, tic tac toe and an html -table generator.
Brainfuck, sometimes called the ultimate esoteric programming language, was created by Urban Muller in 1993 and has only eight recognized characters or commands, no words. It highlights minimalism and is designed to be implemented with the smallest possible compiler, some smaller than 200 bytes. This language was created with the intention of being very difficult even for computer hackers to understand. Brainfuck is not totally useless, as the DeCSS algorithm, the one used to decrypt the system used to protect DVDs, has been ported to this language.
This stack-based, reflective, two-dimensional esoteric programming language was created by Chris Pressey in 1993 in an attempt to create a language that is hard to compile. In Befunge, programs are arranged on a two-dimensional grid with arrow instructions to direct the control flow. In an interesting side note, the language is called Befunge due to a typographical error, when someone was trying to type the word “Before.” Once realizing that Befunge fit the language, meaning “interchangeable in two dimensions,” the title stuck.
Created in 2007 by Adam Lindsay, LOLCODE was created to mimic the speech of lolcats, or images combining photographs of cats with funny, often grammatically incorrect captions. LOLCODE is not a clearly defined language, with no correct syntax or operator priorities. It has inspired other languages, including LOLPython by Andrew Dalke.
Created by David Morgan-Mar, the Chef programming language makes programs look like recipes. Each program consists of a title, a list of variables with data values, and a list of instructions for stack manipulation. Variables are named after different foods, stacks are mixing bowls, and the instructions to manipulate the stacks read like “mix,” “stir,” etc.
A highly creative esoteric programming language created to look like a Shakespearean play, Shakespeare is a language designed by Jon Åslund and Karl Hasselström in which the characters in the play are variables. In the program, input and output happens when a character is told to listen their heart and speak their mind. Conditionals are in the language when characters ask each other questions, and during jumps, where they decide to go to a specific act or scene.
Whitespace is an esoteric computer language designed by Edwin Brady and Chris Morris in 2003. Believing that white spaces have been discriminated against in the computer programming world, in Whitespace, only considers the layout of whitespace characters is considered, and non-whitespace characters are ignored. The only things that have meaning in Whitespace are spaces, tabs, and line feeds. Even more confusing, a whitespace program can be contained within the language of another program, making it a polyglot.
Pandora is a new esoteric language created by Chris Pressey, inspired by INTERCAL. All of Pandora’s code results from “come from” pattern matching. It also uses operators of different priorities and simultaneous matches that yield concurrent threads. Pressey admits that this new language is not yet complete.