Some programming languages helped send humans to the moon, some are cooking up new leukemia drugs, and some exist just to fuck with you. Brainfuck is a minimalist “esoteric language,” or “esolang,” made up of just eight non-alphabetic characters. Esolangs are experimental, jokey, and intentionally hard-to-use languages created to push the boundaries of code (and your buttons). In Brainfuck, part of the basic “Hello, World” program looks like .<-.<.+++.——.—, which makes any normal person want to say “Goodbye, World.”

Most esolangs don’t even look like computer code at all. Here’s one way to print “HI” in the Shakespeare Programming Language:

All the World’s a Program.

Hamlet, a melancholy prince.
Ophelia, the voice of the machine.

Act: 1.
Scene: 1.

[Enter Hamlet and Ophelia]

Ophelia: You are as sweet as the sum of a beautiful honest handsome brave peaceful noble Lord and a happy gentle golden King. Speak your mind!

Hamlet: You are as beautiful as the sum of blossoming lovely fine cute pretty sunny summer’s day and a delicious sweet delicious rose. You are as beautiful as the sum of thyself and a flower. Speak your mind!

[Exeunt]

Basically, Hamlet and Ophelia are “variables” to which numerical values get assigned. The nouns “Lord” and “King” each have a value of +1, and adjectives such as “sweet” and “beautiful” act as multipliers, producing numbers that correspond to ASCII characters—“H” for Hamlet and “I” for Ophelia. “Speak your mind!” prints them.

Esolangs can get even more unhinged than that. On the Esolang Wiki, you’ll find a list of at least 6,000 of these screwball languages and counting. As a Korean, I’m amused by !, an esolang that requires programs to be written in grammatically correct Korean. Then there’s Whitespace, an invisible language made up of things like spaces and tabs. If you’re craving more color, there’s Piet (as in Mondrian), whose “code” is composed of 20 colors arranged on a grid, producing programs that look like abstract paintings. Some esolangs are even “Turing-complete,” meaning they can theoretically do everything that more responsible languages like C++ or Python can (much like how you could, in theory, use a letter opener instead of a sushi knife to prepare a 12-course omakase).

But taken together, you start to wonder what all these brainfucks are good for. Playing around with them is at once amusing and irritating, inundated as you are with countless clones, minor rule variations on existing languages (like Whitespace but with parentheses), and languages created just for the profane hell of it. In her book Theory of the Gimmick, the literary critic Sianne Ngai says that gimmicks—everything from Duchamp’s Fountain to Google Glass—are “working too little but also working too hard.” They put in minimal effort but beg to be noticed. All in all, gimmicks can be “labor-saving” cheats that skip the hard work needed to create something with real substance.

So: Are esolangs gimmicks?

We programmers have always been sickos, so it’s not surprising that esolangs emerged early in our history. In 1972, two Princeton students, Donald Woods and James Lyon, created the Compiler Language With No Pronounceable Acronym, or INTERCAL (naturally). It remains one of the most fully fleshed-out eso-langs around, with a 20-page reference manual—a parody of IBM documentation—laced with comedy and sadism. INTERCAL complains if you don’t include enough instances of the keyword PLEASE, but it also rejects programs if you use the word too much. You terminate a program with PLEASE GIVE UP.

Share.
Exit mobile version