Wikipedia is more generous in its description:
An esoteric programming language (sometimes shortened to esolang) is a programming language designed to test the boundaries of computer programming language design, as a proof of concept, as software art, as a hacking interface to another language (particularly functional programming or procedural programming languages), or as a joke. The use of esoteric distinguishes these languages from programming languages that working developers use to write software. Usually, an esolang's creators do not intend the language to be used for mainstream programming, although some esoteric features, such as visuospatial syntax,[1] have inspired practical applications in the arts. Such languages are often popular among hackers and hobbyists.
Esolangs wiki: With lovely languages like:
- Brainfuck, the classic esolang.
- Emmental is a self-modifying language. It is defined by a meta-circular interpreter (an Emmental interpreter described in Emmental.) The meta-circular interpreter provides an operation which modifies operations of the meta-circular interpreter. Emmental is a stack-based language, but it also has a queue.
- FIFTH: for all those functional alcoholics out there.
- Funciton is a two-dimensional, minimalistic, declarative programming language invented in 2011. (ASCII call-flow graphs FTW!)
- Genesis: Genesis is an interpreted, procedural, and Turing-complete Paleo-Hebrew programming language. Diacritical signs are forgone for simplification, though maybe Nikud can be used in prospect as a means for more reserved keywords. https://github.com/elonlit/Genesis
- I use Arch Linux, btw: a Brainfuck clone
- LifeScript: Typical LifeScript is basically a text document, looking like source code, which describes the actual activity of the editor.
- SARTRE: an extremely unstructured language. Statements in SARTRE have no purpose; they just are there. Thus, SARTRE programs are left to define their own functions. SARTRE programmers tend to be boring and depressed and are no fun at parties.
- Thue is an esoteric programming language based around the idea of a "semi-Thue system": a system which specifies strings that can be rewritten to certain other strings; a program is simply a list of search strings, and possible replacements for them. As a nondeterministic language, a program has the potential to halt if there is some way to reach an end state via applying replacements, even if rules such as "always apply the first replacement" would lead to an infinite loop. ...
... and many, many others. The Esolangs wiki has broken them out into a number of different categories, which is interesting even for non-esoteric languages.
Esoteric Programming Languages Webring (which seems broken)
Some random links I've found:
- ArnoldC: Arnie movie-inspired keywords
- Asciidots (Source): ASCII art language
- Befunge: a programming language designed to be as difficult as possible to compile
- Beyond Ada: The First Paranoid Programming Language
- BIT: a programming language built around individual bits
- C-plus-Equality: Feminist programming language.
- Chicken: only one valid symbol: "chicken" (presentation)
- dogescript: Wow so syntax very doge much future.
- foogol: A (vax) compiler for a tiny ALGOL-like language
- Golfscript: stack-oriented aimed at solving problems in as few keystrokes as possible (described at https://trove42.com/top-20-strangest-programming-languages/)
- Grass: functional language using only W, w, v characters, so source code looks like a field of grass (described at https://trove42.com/top-20-strangest-programming-languages/)
- H: Source
- Haifu: a programming language to address the lack of Eastern philosophy in the current set of commonly used languages such as C and Java. The meanings of "haifu" all describe essential qualities of the language. Note: The specification for Haifu is not quite complete.
- JSFuck: an esoteric and educational programming style based on the atomic parts of JavaScript. It uses only six different characters to write and execute code.
- l33t: designed to be as confusing as possible (described at https://trove42.com/top-20-strangest-programming-languages/)
- Omgrofl: LOLCODE clone (described at https://trove42.com/top-20-strangest-programming-languages/)
- Q-BAL: a programming language based on the question “What would it be like if a language were based on queues rather than stacks?” The acronym stands for Queue-BAsed Lanugage. This language is not designed to be useful, just fun.
- reMorse: a programming language designed to look like Morse code (described at https://trove42.com/top-20-strangest-programming-languages/)
- Velato: MIDI files as source code (described at https://trove42.com/top-20-strangest-programming-languages/)
- uwuscript: World's first uwu-oriented language
- Whitespace: language designed to make use of whitespace characters exclusively
- There's some languages--hard to tell if they're serious or not--at p-and-q.com.
- There's a whole host more of them here, along with formats and automatons, the distinction between which is not always clear
- DuckDB-DOOM: A Doom-like game using DuckDB-WASM. "The entire game logic, including 3D raycasting, enemy AI, collision detection, and rendering is implemented using SQL queries running in DuckDB's WebAssembly build."
Some ideas I have for esoteric languages:
- A language built around the synonyms and antonyms of "other", so we can call it that "Other" programming language.
- What about a D&D/TTRPG programming language?
- Language built around the concepts of collectible card games (Magic, Pokemon, Yu-Gi-Oh); I really like the YuGiOh idea of "But I have a trap card!" that deals with exceptions. Maybe cards are blocks? Oh, I kinda want to see a program be a deck, and all of the blocks are cards that interrupt and form a stack and oh my Jesus this could work.
Tags:
language
esoteric
Last modified 13 August 2025