Awesome Esolangs
Curated list of awesome esoteric programming languages, resources and related projects.
“An esoteric programming language, or esolang, is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use.”
esolang.org
Contents
Languages
-
><> - A stack-based 2d language with support for reflection.
-
1+ - A surprisingly user-friendly language with a highly-limited instruction set.
-
78 - A single-character command language focused around the numbers 7 and 8.
-
ajsone - Language defined completely in JSON.
-
AlmostBinary - Code in binary and run on any platform.
-
ArnoldC - Based on the best one-liners of Arnold Schwarzenegger.
-
Befunge - Two-dimensional language.
-
Brackets - Language made of brackets, a lot of brackets.
-
Brainfuck - Minimalist language using only 8 single-character commands.
-
C Flat - Musical language focused on sound rather than notation with creative freedom in mind.
-
CellTail - A 1d celular automata based language, supports a complex pattern matching syntax.
-
Charcoal - Concise language for sketching ASCII art.
-
Chef - Programs that look like cooking recipes.
-
Chicken - Only 1 valid symbol: ‘chicken’.
-
ChuckScript - Unary-based language, where the code is a single number.
-
COW - Brainfuck variant using twelve variations of moos as instructions.
-
DNA# - Language based on the structure of the DNA.
-
Dots - A turing-complete language using “.” symbol only.
-
Electra - Code like an electrician.
-
Emojicode - Full-blown programming language consisting of emojis.
-
Enterprise™ - Non deterministic unnecessarily statically typed language.
-
False - Heavily obfuscated language with a minimal implementation.
-
Fetlang - Designed such that source code looks like poorly written fetish erotica.
-
FlipJump - 1 instruction: Flip a bit, then Jump. The simplest OISC.
-
Folders - Code written with folders.
-
FreakC - Full-blown programming language with NSFW contents and memes.
-
Fugue - Music as source code.
-
Golfscript - Stack oriented, aimed at solving problems in as few keystrokes as possible.
-
Haifu - Designed with the core values of Eastern philosophy in mind.
-
INTERCAL - Parody language intended to be completely different from other languages.
-
Japt - Reduced JavaScript for golfing.
-
Jelly - Golfing language based on J.
-
JellyScript - Brainfuck-based with delicious jelly.
-
JSFuck - Esoteric programming style based on the atomic parts of JavaScript.
-
Lazy K - Minimal, turing-complete pure functional language without extra features.
-
legit - Programs defined entirely by the graph of the git repository instead of its contents.
-
LolCode - Language with keywords based on the lolcat meme expressions.
-
Malbolge - Named after the 8th level of hell, is designed to be as difficult as possible to program.
-
Monicelli - Programming using Italian-like gibberish.
-
Ni - Brainfuck-based with more helpful instructions.
-
Omgrofl - Syntax resembling Internet slang.
-
Ook! - Brainfuck-based language, where the commands are orangutan words.
-
Orca - Livecoding environment to quickly create procedural audio sequencers.
-
Piet - Language in which programs look like abstract paintings using colors as code. Named after Piet Mondrian.
-
RASEL - Fungeoid with no limits on program space, float precision, and with a bit of random access to stack.
-
reMorse - Morse-styled language.
-
Rockstar - Designed for creating computer programs that are also song lyrics.
-
Shakespeare - Language where the code appear to be Shakespearean plays.
-
Spooky - The scariest programming language :jack_o_lantern: :skull:.
-
Suzy - 3D language inspired in Befunge.
-
Technologic - Language in which programs look like the lyrics to the Daft Punk song Technologic.
-
Thue - Matrioshka language based on nondeterministic string rewriting of a semi-Thue grammar.
-
Tru - A stack-based language with prefix-free brackets.
-
TrumpScript - Make Python great again.
-
Turtle - Uses long-term storage for memory use.
-
Unary - Brainfuck-based language where all the commands are 0.
-
Unlambda - Obfuscated functional programming.
-
Velato - Language that uses MIDI files as source, programs are defined by the pitch and order of notes.
-
Vigil - Only Vigil is truly vigilant about not allowing code that fails to pass programmatic specifications.
-
Watson - Stack-based Turing-incomplete configuration files.
-
文言 (Wenyan) - Closely follows the grammar and tone of classical Chinese literature.
-
Whenever - Language that does things whenever it wants.
-
Whitespace - Use only white-characters (space, tabs and newlines).
-
WordLang - A language based on meaning-like grammar that produces output.
-
Z - Use only the letter z.
-
ZOMBIE - Inherently evil multithreaded language designed for Necromancers.
Algorithms
-
πfs - Pi-based storage system, store your data by searching a matching sequence in pi.
-
Stacksort - Sorts a list by searching answers in Stack Overflow and executing code snippets until is sorted.
Others
-
asmbf - The only true brainfuck assembler toolkit.
-
CSS-only-chat - A truly monstrous async web chat using no JS whatsoever on the frontend.
-
FizzBuzzEnterpriseEdition - Simple FizzBuzz game implemented under the most strict enterprise standards.
-
MalbolgeLisp - A Lisp interpreter in Malbolge Unshackled.
-
NoCode - Secure and reliable applications. Write nothing; deploy nowhere.
-
Petrovich - Operating System concept based on random actions and rewards/punishments.
-
vapor.js - The World’s Smallest & Fastest JavaScript Library.
Resources
Articles
Logo used with permission of David Morgan-Mar