Do What Thou Wilt Shall be the Whole of the Code
All throughout California, but especially in the sunny, smoggy basin of Los Angeles, you’ll see a particularly grim admonition in the form of a boldly typed sign:
WARNING: _______ contains chemicals known to the State of California to cause cancer and birth defects or other reproductive harm.
These prescriptions are a result of CA Proposition 65 (1986), and you’ll notice all kinds of places and objects filling in that blank if you spend any length of time there. The Disneyland Resort begrudgingly displays the sign upon entry (albeit in their own suspiciously cheerful way), and it tends to make living in LA feel like you reside in an enormous cigarette pack with really good Mexican food.
You’ll see the warning on coffee mugs, beer labels, and in parks. One such park is home to the La Brea Tarpits, which might as well be the Wailing Wall of Prop 65 warning sites, as it could be the most toxic place in which civilians are allowed to roam in the region. It’s a literal tarpit, from which a proper menagerie of fossilized remains has been purged, but there’s a certain vibe lingering in the park that spending any amount of time around the La Brea Tar Pits might not be worth the potential time shaved off one’s life.
There are such tarpits in the world of software programming. They’re known as Turing-tarpits, and if you don’t have the patience or a taste for the absurd, you may want to direct your attention elsewhere. Go find a cat video or an op-ed that confirms your biases. You’ll be better off…go on.
Still with it? Impressive.
Such languages can be considered “Turing-complete”, that is they can pass calculatory muster and can handle nearly any conventional algorithm, but they differ from other languages in that they also strive to be as hermetic and needlessly difficult as possible.
These programming languages are an exercise in futility if you ever expect to accomplish anything professionally with them, though you could, given enough time and practice. Instead they fall somewhere between a prank and a sadistically tricky riddle. Learning to use them is like reading Finnegan’s Wake in the dark, soundtracked by the cacophony of a construction site outside, while being forced to turn the pages with your tongue.
Some of these languages exist to push code to baroque levels of density, such as Binary Lambda Calculus (most are too timid to even find out firsthand if it’s as tough as it sounds) while others, like the aptly named brainfuck, use only 8 characters to string together minimalist blocks of code to look like the programmer simply leaned on the keyboard. By definition they’re not necessarily useful, though they occasionally can be, and they’re not necessarily artistic, but they often are.
A number of these languages embody software as intellectual gymnastics, while others embody software as art. Take Piet for example, a language comprised of bitmaps that look something like the contemporary, abstract works of Kurt Vonnegut’s classic character Rabo Karabekian. It emphasizes aesthetics for the sake of them, and it’s the kind of thing you can show your non-techie friends in order to prove that your professional life is not as boring as they’ve assumed.
Your correspondent’s personal favorite artistic esolang (short for esoteric language) is Shakespeare, which converts normal programming syntax into Acts and Scenes, with Characters as variables, allowing each line of code to resemble the pentametric grace of the bard’s greatest works. It’s nearly useless yet magnificent at the same time. Knowing a little bit of Shakespeare may never bring me success, but it will certainly bring me joy. And joy, contrary to the beliefs of some managerial systems, is as important, if not more important, than misery.
These languages may not contain chemicals known to cause cancer, but they can drive you madder than a rabid dog. They’re not to be taken lightly, and they’re the closest thing to black magic in the programming sphere. Still, there will always be something to be learned from the esoteric programming languages, even if it’s simply the lengths some programmers will go to amuse themselves.