The 5 most obscure programming languages are truly a sight to behold. Curated by a twisted mind, an artisan of programming language design or someone so bored out of their head that they transcend the concepts and norms of the languages they use, these quirky little phenomena are known in professional environments as “esoteric” languages or esolang. There are mostly no practical uses for them. They’re not what I had in mind when I listed programming as one of the 6 hobbies you only need a computer for, but they’re a good laugh and a challenge.
Programming as we think of it today — lines of code typed into a computer by a person with expertise — is becoming more and more accessible, with visual languages, modular languages, even drag-and-drop programming. People with technical streaks who have a free afternoon can dive into Python or Javascript and come out with a beginning understanding. Children take on Hour of Code activities every year and even teach workshops to their classmates. Programming “boot camps” teach web design or systems administration to adults who want to change careers and join the growing STEM economy. But programming has also always inspired a kind of elitism, where those in the know want to keep their ranks pure and insular.
The concept of taking a programming language and twisting it into a peculiar inside joke is not new. The first and still highly regarded example is INTERCAL, designed in 1972 by Princeton students James Lyon and Don Woods. INTERCAL acts as a parody of the widely used languages of their day (Fortran, COBOL, assembly), using instructions such as IGNORE, FORGET, and PLEASE and using bizarre syntax to initialize and store variables. In many modern languages you type something like “int examNum = 65536” where your value is called “examNum” and the number it represents is 65,536. In INTERCAL you have to write down “DO :1 <- #0¢#256” to get the same result.
There are many other languages that follow the example and spirit of INTERCAL, and you can’t really estimate the exact amount of weirdness of a programming language, so you’ll have to take my word for the list below. Let’s take a look at it:
5. Brainf–k
First off is the moderately popular and highly loved by programmers Brainf–k. Yes, it is as bad as it sounds. The language is designed with the goal of extreme austerity which has led to minimal memory use by only using eight characters as its set of instructions. Each character can be used alone to carry out basic operations. Since its creation in 1993 by the Urban Muller, the eight character set has remained the same.
4. Ook!
Ook! was designed to be used by orangutans. How well they do that, we shall all patiently away to discover. This language derives from number five on the list but uses even more reduced syntax. Basically it consists of about three different Ooks, set apart by the intonation with which our future ape overlord blurts them out.
3. Befunge
Befunge is one big recombobulation of a programming language. Instead of following the linear approach to programming other languages on the list use, Befunge’s compiler is allowed to go whichever direction it likes. With a set of “arrow” commands, you can tell the compiler to go in whatever direction you wish on a two-dimensional grid. Loops (repeating parts of code) are constructed by directing the flow back into itself.
2. Valeto
Valeto is a language that safely makes the second spot on the list of the 5 most obscure programming languages. It uses musical notation (as MIDI) to form a program. It’s not the only one of its kind, given that Prelude and Fugue work in a similar way, but its freedom factor allows users to make their programs sound like a musical piece. It is noted that programs often have jazz-like harmonies in them.
1. Piet
Piet goes even farther, taking the first spot on the list of the 5 most obscure programming languages. By using a special sort of bitmaps that look like abstract art as its set of functions, Piet programs are read by the compiler from one fully colored region to the next. Its inspiration and namesake is abstract De Stijl painter Piet Mondrian.