Feeling of Computing

← Feeling of Computing27 Sept 2025 · 1 h 54 min

Let's Take Esoteric Programming Languages Seriously

Let's Take Esoteric Programming Languages Seriously27 Sept 20251 h 54 min

One of the biggest goals of this show — our raisin detour, if you will — is to encourage people to look at computer programming differently. It's not just a job, or a way to make the computer do what you want. Code isn't just the material you sculpt into apps and games and websites. The very act of programming itself, and the languages we make and use to do that programming, reflect who we are as people. Programming languages say something.

Esolangs — esoteric programming languages — are programming languages created for these more self-reflective purposes. To some, they're defined by what they're not: not for serious use, not for education, not for efficiency. To others, they're a bunch of funny jokes that people can commiserate through after suffering the steep learning curve of becoming a programmer. A few find in them an opportunity to explore strange computational models, or baffling syntax designs. But is there more to them? Could there be?

In this episode, we're discussing a preprint of the paper Let's Take Esoteric Programming Languages Seriously by Jeremy Singer and Steve Draper, and struggling with what it even means to give esoteric languages their due.

Links

$ Each of these episodes is a labour of love. If you appreciate that labour, slip us a five on Patreon. As is the norm, you'll get a second RSS feed with a bonus episode each and ev-er-y month. Except this month, there's actually two (2) bonus episodes, for the simple reason that this podcast swells with bubbles of hot waxy fluid that spill the container of my Ableton Live when they pop. The first pop is a half hour cut from this esolangs ep, the three of us brainstorming esolangs we'd enjoy, super casual and playful, perfect for building your parasocial podcast relationship, you'll love it. The second bonus, as I'm sure you've been expecting, is three hours of Jimmy and I relaying our experiences with Silksong, unpacking its few contentious design decisions, fawning over exquisite details, the good shit. So yeah, hand us one hundred nickles, help Ivan repair his basement, enjoy more of… whatever this is.

Daniel Temkin 🛌 😴💤😘 esoteric.codes Daniel's new book, Forty-Four Esolangs Joana Chicau The Less Humble Programmer Esolangs Wiki Entropy, an esolang by (total dreamboat) Daniel Temkin Unnecessary, the 4:33 of esolangs, by Keymaker Turing Paint by Byron Knoll, which is similar to Brian Silverman's Wireworldand Lu's Cableworld Ivan's Visual Programming Codex, a collection of all the cool visual programming things Ivan has come across in his travels. Riskopoly — The Game of Capitalist Imperialism! Fanny#In_slang Brainfuck and Whitespace are two canonical esolangs. Our episode on Structure of a Programming Language Revolution, which includes extended discussion of Ivan's father-in-law's lookalike. Dreamberd is one of Lu's Esoteric programming languages, which has a (let's just say) "interesting" relationship with AI. The Story of Mel Piet, Befunge, and Malbolge are more classic, oft-cited esolangs. Fractran deserves special mention, since the language is comprised entirely of fractions, which is pretty neat. MarkovJunior also deserves special mention. Seriously, go look at the examples. Wild stuff. It's by Maxim Gumin, who also did the famous WaveFunctionCollapse project. We did an entire interview episode about Orca with creator Devine Lu Linvega, who more recently made Tote, a reversible rewriting sandbox. Reversible computing, something Ivan is particularly interested in. XKCD's comic X, about a programming language that uses fonts creatively. ArnoldC is one of those esolangs, like Shakespeare, Chef (which, actually, is kinda good actually if you actually have to eat whatever you code), or LOLCODE Wat; still hits. Bodyfuck Evil.css, "subtle and not-so-subtle CSS rules that will slowly drive people insane" Hest doesn't exist. Code golfing is the practice of making your code as succinct as possible, often at the expens