By Amanda Bertsch
Generally, programming languages are created to do something useful. HTML and CSS are used to design webpages. Java makes applets. BASIC creates games. Some languages, however, serve little or no purpose and are known as esoteric programming languages. They’re created by people who are very interested in programming and not very interested in having a life outside programming, and are subsequently some of the funniest in-jokes on the web. This article breaks down five of the greatest (almost completely useless) languages.
Ook! is one of a number of programming languages based on the charming BF, an early esoteric language with only eight commands. Ook! is different because it is specifically designed for orangutans to code. (Yes, orangutans.) Ook! has three different programming elements: Ook., Ook!, and Ook?. They are sorted into groups of two to create eight distinct commands.
Picture a 12-year-old in 2007. Picture how they typed. Then imagine that one of those 12-year-olds could create a programming language. The result would look something like LOLCODE, a language designed to look as similar to the deliberate misspellings of the “lolcat” meme. Words such as “liek” and “hai” are common in source code of this language.
Imagine you were having a really bad day, and you wanted to make sure everyone around you was having an equally terrible one. That’s essentially the principle behind Malbolge, a programming language specifically designed to be as difficult as possible to actually use. A series of complicated rules makes Malbolge code look like a pile of gibberish, even when written correctly. Only a few programs have been successfully written in this beast of a language, despite its existing for decades.
Aspiring artists, never fear! There’s a programming language for the visually minded. Piet is coded entirely in 20 different colorations of pixels. 18 of these colors are related on a color cycle, and a series of complex operations is used to translate the pictures created into program outputs.
Perhaps the most literary of all programming languages, Shakespeare is designed to read like a Shakespeare play. All variables are Shakespeare characters, whose values are increased or decreased by various “positive” or “negative” nouns (adjectives function as multipliers). Shakespeare has several ways to say just about anything, allowing programs to be nearly as variable and just as lengthy as the original plays.
Interested in more of these elaborate languages? Check out Esolang, a wiki dedicated to esoteric programming languages.