Daniel Temkin, a prominent figure in the realm of programming languages, has recently announced the upcoming release of his book, “Forty-Four Esolangs: The Art of Esoteric Code,” set to be published by MIT Press on September 23. I hope you enjoy reading about these 44 esoteric programming languages! It serves as a window into a deep-rooted tradition that has flourished since computing’s early days. Temkin’s latest work highlights the artistic and creative elements of programming. It’s an indictment of contemporary programmatic practice, particularly AI-driven code.
Temkin’s ongoing project includes looking at AI-generated code that favors the simplest solutions and eschews creative thinking. He’s right that these AI systems represent an incredibly efficient way to solve new problems. Too often, they remove the magic that makes coding an art form in the first place. “It’s almost as if there’s a layer behind the code, which is the actual code,” he explains. Maintaining this perspective underlies all of Ryan’s explorations into more unconventional, more creative programming languages that break the default structures.
The Genesis of Valence
Temkin’s contribution to the field with Valence was of great magnitude. This new programming language is meant to mimic the vagueness of human language. Valence adds eight ancient Greek measuring and numeric symbols, a testament to Temkin’s passion for fusing poetic language into programming structures.
Temkin intentionally designed Valence with syntactical limitations in mind, and as a result, the entire Valence compiler is only 1 kilobyte! This whimsical design serves to highlight the playful nature of language and give programmers a taste of its complexities. “Just as you could create an English sentence like, ‘Bob saw the group with the telescope,’ you can’t quite be sure of whether it’s Bob who has the [telescope] and he’s seeing the group through it, or if it’s the group that has the telescope,” he elaborates.
This lack of clarity encourages developers to play with various interpretations, much like artists writing words that can be read a few different ways can do. Temkin’s dream for Valence is for coders to understand the complexities of language. Only by understanding these nuances can they make more informed programming decisions.
Olympus: A Mythical Approach to Coding
As an aside, beyond Valence, Temkin has created a second really exciting language called Olympus, different than Valence in scope and intention. This language has an interpreter in the form of the pantheon of Greek gods. Each god has their own domain and will only answer your prayers if invoked properly. This idea makes coding into a sort of magical encounter, where getting it right is contingent on knowing how to interact with these gods of code correctly.
“The basic idea of the language is that you write in pseudo-natural language style, asking various Greek gods to construct code the way that you want it to be,” Temkin describes. He likens the process to crafting pleas that must be articulated thoughtfully: “You’re writing pleas to create that code, and you have to ask nicely.”
For instance, when a programmer adds a reference to Zeus as the father of the gods in their code, they can’t just immediately put this same joke again. If they fail, they face the wrath of Zeus’s wrath. “For example, if you call Zeus father of the gods, you can’t call him that again immediately because he doesn’t think you’re trying very hard,” he clarifies. Still, this powerful dynamic exposes a larger critique on programming control. Coders can’t simply issue steep instructions — they have to go through the syntax and thorny complexity of their language of choice themselves.
The Legacy of Esoteric Languages
Temkin’s work fits neatly into a tradition of esoteric programming languages, focusing on a break from form and function in the pursuit of absurdity over difficult-to-imagine obstacles. For example, early esotherapeutic languages like INTERCAL used obtuse syntax created solely for humor instead of practicality. Through his exploration of esoteric languages, Temkin believes programmers can engage with the intricacies of modern coding while fostering creativity.
The purpose of esoteric languages is not simply to make some task easier. It confronts our place in the technological landscape and forces us to wonder how much control we really have. By engaging with these unconventional languages, programmers can confront the classic conundrum: “This is the classic bind in programming. We are in charge of the machine when we’re writing computer programs, but how in charge are we actually of what’s going on?
Temkin’s works, including his games and stories, can be further explored on his website, Vessel, and on platforms such as the Esoteric Languages Wiki. His project is more than just an academic exercise. It’s a huge supporter of an international, community-based effort that focuses on the intersection of creative expression and computer programming.