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 fundamental “Hey, World” program looks like .<-.<.+++.——.—, which makes any regular individual 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’re as candy because the sum of a phenomenal sincere good-looking courageous peaceable noble Lord and a cheerful light golden King. Converse your thoughts!
Hamlet: You’re as lovely because the sum of blossoming beautiful superb cute fairly sunny summer time’s day and a scrumptious candy scrumptious rose. You’re as lovely because the sum of thyself and a flower. Converse your thoughts!
[Exeunt]
Mainly, Hamlet and Ophelia are “variables” to which numerical values get assigned. The nouns “Lord” and “King” every have a worth of +1, and adjectives comparable to “candy” and “lovely” 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 listing of no less than 6,000 of those screwball languages and counting. As a Korean, I’m amused by !, an esolang that requires applications 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 colour, 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,” that means they’ll theoretically do every little thing that extra accountable languages like C++ or Python can (very similar to how you possibly can, in principle, use a letter opener as a substitute 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 worsening, 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—every little thing from Duchamp’s Fountain to Google Glass—are “working too little but additionally working too arduous.” They put in minimal effort however beg to be observed. All in all, gimmicks could be “labor-saving” cheats that skip the arduous 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 shocking 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 probably the most absolutely fleshed-out eso-langs round, with a 20-page reference manual—a parody of IBM documentation—laced with comedy and sadism. INTERCAL complains for those who don’t embody sufficient cases of the key phrase PLEASE, however it additionally rejects applications for those who use the phrase an excessive amount of. You terminate a program with PLEASE GIVE UP.