Awesome Esolangs
Curated list of awesome esoteric programming languages and resources.
"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
- Ajsone - Language defined completely in JSON.
- Befunge - Two-dimensional language.
- Brainfuck - Minimalist language using only 8 single-character commands.
- 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.
- DNA# - Language based on the structure of the DNA.
- Dots - A turing-complete language with only one symbol: ".".
- Emojicode - Full-blown programming language consisting of emojis.
- Enterprise™ - Non deterministic unnecessarily statically typed language.
- False - Heavily offuscated language with a minimal implementation.
- Fetlang - Designed such that source code looks like poorly written fetish erotica.
- INTERCAL - Parody language intended to be completely different from other languages.
- JSFuck - Esoteric programming style based on the atomic parts of JavaScript.
- 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.
- Omgrofl - Syntax resembling Internet slang.
- Ook! - Brainfuck-based language, where the commands are orangutan words.
- reMorse - Morse-styled language.
- Rockstar - Designed for creating computer programs that are also song lyrics.
- Piet - Language in which programs look like abstract paintings using colors as code. Named after Piet Mondrian.
- Shakespeare - Language where the code appear to be Shakespearean plays.
- Suzy - 3D language inspired in Befunge.
- Thue - Matrioshka language based on nondeterministic string rewriting of a semi-Thue grammar.
- Unary - Brainfuck-based language where all the commands are 0.
- Velato - Language that uses MIDI files as source, programs are defined by the pitch and order of notes.
- Whenever - Language that does things whenever it wants.
- Whitespace - Use only white-characters (space, tabs and newlines).
- Z - Use only the letter z.
Resources
- DM's Esoteric Programming Languages - List of esoteric languages and algorithms written by dangermouse.
- Esofiles - The Esoteric Files Archive, an archive of implementations of esoteric programming languages and examples.
- Esolang - Wiki of esoteric programming languages and related Resources.
- Rosettacode - Provides examples in different languages, including esoteric languages.
- Wikipedia/Esoteric programming languages - Wikipedia list of esoteric languages.
- On the Turing Completeness Of MS PowerPoint - Turing Machine on PowerPoint.
Articles
- Let's Build a Basic Interpreter (Ruslan's Blog) - Series of articles explaining the basics of compilers and interpreters and how to build one.
- Six programming paradigms that will change how you think about coding - A post by Yevgeniy Brikman describing different programming paradigms that are not commonly applied.
Community
- Freenode IRC Channel - The #esoteric IRC channel on freenode.
- Reddit Esolangs - Reddit community on esolangs.
License
The content of this list is available under CC0 public domain dedication.
Logo is used by permission of David Morgan-Mar