Esoteric Programming Languages Are Enjoyable—Till They Kill the Joke


Some programming languages helped ship people to the moon, some are cooking up new leukemia medication, and a few exist simply to fuck with you. Brainfuck is a minimalist “esoteric language,” or “esolang,” made up of simply eight non-alphabetic characters. Esolangs are experimental, jokey, and deliberately hard-to-use languages created to push the boundaries of code (and your buttons). In Brainfuck, a part of the essential “Hiya, World” program looks like .<-.<.+++.——.—, which makes any regular particular person wish to say “Goodbye, World.”

Most esolangs don’t even seem like pc code in any respect. Right here’s one method to print “HI” within the Shakespeare Programming Language:

All of 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 might be as candy because the sum of a gorgeous trustworthy good-looking courageous peaceable noble Lord and a contented light golden King. Converse your thoughts!

Hamlet: You might be as stunning because the sum of blossoming pretty tremendous cute fairly sunny summer season’s day and a scrumptious candy scrumptious rose. You might be as stunning because the sum of thyself and a flower. Converse your thoughts!

[Exeunt]

Principally, Hamlet and Ophelia are “variables” to which numerical values get assigned. The nouns “Lord” and “King” every have a worth of +1, and adjectives reminiscent of “candy” and “stunning” act as multipliers, producing numbers that correspond to ASCII characters—“H” for Hamlet and “I” for Ophelia. “Converse your thoughts!” prints them.

Esolangs can get much more unhinged than that. On the Esolang Wiki, you’ll discover a record of a minimum of 6,000 of those screwball languages and counting. As a Korean, I’m amused by !, an esolang that requires packages to be written in grammatically right Korean. Then there’s Whitespace, an invisible language made up of issues like areas and tabs. If you happen to’re craving extra shade, there’s Piet (as in Mondrian), whose “code” consists of 20 colours organized on a grid, producing programs that look like abstract paintings. Some esolangs are even “Turing-complete,” which means they’ll theoretically do all the things that extra accountable languages like C++ or Python can (very similar to how you can, in concept, use a letter opener as an alternative of a sushi knife to organize a 12-course omakase).

However taken collectively, you begin to surprise what all these brainfucks are good for. Taking part in round with them is directly amusing and aggravating, inundated as you’re with numerous clones, minor rule variations on current languages (like Whitespace however with parentheses), and languages created only for the profane hell of it. In her e-book Theory of the Gimmick, the literary critic Sianne Ngai says that gimmicks—all the things from Duchamp’s Fountain to Google Glass—are “working too little but in addition working too laborious.” They put in minimal effort however beg to be seen. All in all, gimmicks will be “labor-saving” cheats that skip the laborious work wanted to create one thing with actual substance.

So: Are esolangs gimmicks?

We programmers have at all times been sickos, so it’s not stunning that esolangs emerged early in our historical past. In 1972, two Princeton college students, Donald Woods and James Lyon, created the Compiler Language With No Pronounceable Acronym, or INTERCAL (naturally). It stays some of the totally fleshed-out eso-langs round, with a 20-page reference manual—a parody of IBM documentation—laced with comedy and sadism. INTERCAL complains in case you don’t embrace sufficient situations of the key phrase PLEASE, however it additionally rejects packages in case you use the phrase an excessive amount of. You terminate a program with PLEASE GIVE UP.

Leave a Reply

Your email address will not be published. Required fields are marked *