138 lines
12 KiB
Markdown
138 lines
12 KiB
Markdown
# Awesome Esolangs [](https://awesome.re)
|
|
|
|
<img src="logo_piet.png" align="right">
|
|
|
|
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](#languages)
|
|
* [Algorithms](#algorithms)
|
|
* [Others](#others)
|
|
* [Resources](#resources)
|
|
* [Articles](#articles)
|
|
* [Community](#community)
|
|
|
|
|
|
## Languages
|
|
|
|
* [><>](https://esolangs.org/wiki/fish) - A stack-based 2d language with support for reflection.
|
|
* [1+](https://esolangs.org/wiki/1%2B) - A surprisingly user-friendly language with a highly-limited instruction set.
|
|
* [78](https://github.com/oatmealine/78) - A single-character command language focused around the numbers 7 and 8.
|
|
* [ajsone](https://www.quaxio.com/ajsone) - Language defined completely in JSON.
|
|
* [AlmostBinary](https://github.com/wsdt/AlmostBinary) - Code in binary and run on any platform.
|
|
* [ArnoldC](http://lhartikk.github.io/ArnoldC) - Based on the best one-liners of Arnold Schwarzenegger.
|
|
* [Befunge](https://esolangs.org/wiki/Befunge) - Two-dimensional language.
|
|
* [Brackets](https://github.com/kvbc/brackets) - Language made of brackets, a lot of brackets.
|
|
* [Brainfuck](https://esolangs.org/wiki/Brainfuck) - Minimalist language using only 8 single-character commands.
|
|
* [C Flat](https://github.com/NicksterSand/Cflat) - Musical language focused on sound rather than notation with creative freedom in mind.
|
|
* [CellTail](https://github.com/mousetail/celltail) - A 1d celular automata based language, supports a complex pattern matching syntax.
|
|
* [Charcoal](https://github.com/somebody1234/Charcoal) - Concise language for sketching ASCII art.
|
|
* [Chef](http://www.dangermouse.net/esoteric/chef.html) - Programs that look like cooking recipes.
|
|
* [Chicken](https://esolangs.org/wiki/Chicken) - Only 1 valid symbol: 'chicken'.
|
|
* [ChuckScript](https://github.com/angrykoala/chuckscript) - Unary-based language, where the code is a single number.
|
|
* [COW](https://esolangs.org/wiki/COW) - Brainfuck variant using twelve variations of *moos* as instructions.
|
|
* [DNA#](https://esolangs.org/wiki/DNA-Sharp) - Language based on the structure of the DNA.
|
|
* [Dots](https://github.com/josconno/dots) - A turing-complete language using "." symbol only.
|
|
* [Electra](https://github.com/DolphyWind/Electra-Lang) - Code like an electrician.
|
|
* [Emojicode](http://www.emojicode.org) - Full-blown programming language consisting of emojis.
|
|
* [Enterprise™](https://github.com/joaomilho/Enterprise) - Non deterministic unnecessarily statically typed language.
|
|
* [False](http://strlen.com/false-language) - Heavily obfuscated language with a minimal implementation.
|
|
* [Fetlang](https://github.com/Property404/fetlang) - Designed such that source code looks like poorly written fetish erotica.
|
|
* [FlipJump](https://github.com/tomhea/flip-jump) - 1 instruction: Flip a bit, then Jump. The simplest OISC.
|
|
* [Folders](https://github.com/rottytooth/Folders) - Code written with folders.
|
|
* [FreakC](https://github.com/FreakC-Foundation/FreakC) - Full-blown programming language with NSFW contents and memes.
|
|
* [Fugue](https://esolangs.org/wiki/Fugue) - Music as source code.
|
|
* [Golfscript](http://www.golfscript.com/golfscript) - Stack oriented, aimed at solving problems in as few keystrokes as possible.
|
|
* [Haifu](http://www.dangermouse.net/esoteric/haifu.html) - Designed with the core values of Eastern philosophy in mind.
|
|
* [INTERCAL](http://www.catb.org/~esr/intercal) - Parody language intended to be completely different from other languages.
|
|
* [Japt](https://github.com/ETHproductions/japt) - Reduced JavaScript for golfing.
|
|
* [Jelly](https://github.com/DennisMitchell/jellylanguage) - Golfing language based on J.
|
|
* [JellyScript](https://github.com/nguyenphuminh/Jellyscript) - Brainfuck-based with delicious jelly.
|
|
* [JSFuck](https://github.com/aemkei/jsfuck) - Esoteric programming style based on the atomic parts of JavaScript.
|
|
* [Lazy K](https://tromp.github.io/cl/lazy-k.html) - Minimal, turing-complete pure functional language without extra features.
|
|
* [legit](https://morr.cc/legit) - Programs defined entirely by the graph of the git repository instead of its contents.
|
|
* [LolCode](http://lolcode.org) - Language with keywords based on the lolcat meme expressions.
|
|
* [Malbolge](https://esolangs.org/wiki/Malbolge) - Named after the 8th level of hell, is designed to be as difficult as possible to program.
|
|
* [Mindfck](https://github.com/angrykoala/mindfck) - High level language that transpiles to Brainfuck.
|
|
* [Monicelli](https://github.com/esseks/monicelli) - Programming using Italian-like gibberish.
|
|
* [Ni](https://github.com/DeybisMelendez/ni) - Brainfuck-based with more helpful instructions.
|
|
* [Omgrofl](https://esolangs.org/wiki/Omgrofl) - Syntax resembling Internet slang.
|
|
* [Ook!](http://www.dangermouse.net/esoteric/ook.html) - Brainfuck-based language, where the commands are orangutan words.
|
|
* [Orca](https://hundredrabbits.itch.io/orca) - Livecoding environment to quickly create procedural audio sequencers.
|
|
* [Piet](http://www.dangermouse.net/esoteric/piet.html) - Language in which programs look like abstract paintings using colors as code. Named after Piet Mondrian.
|
|
* [RASEL](https://github.com/Nakilon/rasel) - Fungeoid with no limits on program space, float precision, and with a bit of random access to stack.
|
|
* [reMorse](http://esolangs.org/wiki/reMorse) - Morse-styled language.
|
|
* [Rockstar](https://github.com/dylanbeattie/rockstar) - Designed for creating computer programs that are also song lyrics.
|
|
* [Shakespeare](http://shakespearelang.sourceforge.net) - Language where the code appear to be Shakespearean plays.
|
|
* [Schoenberg](https://tomeraberba.ch/schoenberg) - The MIDI Esoteric Programming Language.
|
|
* [Spooky](https://spookylang.com) - The scariest programming language :jack_o_lantern: :skull:.
|
|
* [Suzy](https://github.com/gvx/suzy) - 3D language inspired in Befunge.
|
|
* [Technologic](https://esolangs.org/wiki/Technologic) - Language in which programs look like the lyrics to the Daft Punk song Technologic.
|
|
* [Thue](https://github.com/jcolag/Thue) - *Matrioshka* language based on nondeterministic string rewriting of a semi-Thue grammar.
|
|
* [Tru](https://github.com/sungwoncho/tru) - A stack-based language with prefix-free brackets.
|
|
* [TrumpScript](https://github.com/samshadwell/TrumpScript) - Make Python great again.
|
|
* [Turtle](https://github.com/TypeMonkey/Turtle) - Uses long-term storage for memory use.
|
|
* [Unary](https://esolangs.org/wiki/Unary) - Brainfuck-based language where all the commands are 0.
|
|
* [Unary Except Every Zero Is Replaced with the Title of This Programming Language or, Alternately, Is Replaced with the Smallest Counter-Example to the Goldbach Conjecture. Compilers and Interpreters Only Have to Implement the Former Option](https://esolangs.org/wiki/Unary_Except_Every_Zero_Is_Replaced_with_the_Title_of_This_Programming_Language_or,_Alternately,_Is_Replaced_with_the_Smallest_Counter-Example_to_the_Goldbach_Conjecture._Compilers_and_Interpreters_Only_Have_to_Implement_the_Former_Option) - Derivative of Unary in which every zero is replaced with the title of the programming language being discussed.
|
|
* [Unlambda](http://www.madore.org/~david/programs/unlambda) - Obfuscated functional programming.
|
|
* [Velato](http://velato.net) - Language that uses MIDI files as source, programs are defined by the pitch and order of notes.
|
|
* [Vigil](https://github.com/munificent/vigil) - Only Vigil is truly vigilant about not allowing code that fails to pass programmatic specifications.
|
|
* [Watson](https://github.com/genkami/watson) - Stack-based Turing-incomplete configuration files.
|
|
* [文言 (Wenyan)](http://wenyan-lang.lingdong.works) - Closely follows the grammar and tone of classical Chinese literature.
|
|
* [Whenever](http://www.dangermouse.net/esoteric/whenever.html) - Language that does things whenever it wants.
|
|
* [Whitespace](http://web.archive.org/web/20150623025348/http://compsoc.dur.ac.uk/whitespace) - Use only white-characters (space, tabs and newlines).
|
|
* [WordLang](https://github.com/WilliamRagstad/WordLang) - A language based on meaning-like grammar that produces output.
|
|
* [Z](https://esolangs.org/wiki/Z) - Use only the letter z.
|
|
* [ZOMBIE](https://www.dangermouse.net/esoteric/zombie.html) - Inherently evil multithreaded language designed for Necromancers.
|
|
|
|
## Algorithms
|
|
|
|
* [πfs](https://github.com/philipl/pifs) - Pi-based storage system, store your data by searching a matching sequence in pi.
|
|
* [Stacksort](https://gkoberger.github.io/stacksort) - Sorts a list by searching answers in Stack Overflow and executing code snippets until is sorted.
|
|
|
|
## Others
|
|
|
|
* [asmbf](https://github.com/kspalaiologos/asmbf) - The only true brainfuck assembler toolkit.
|
|
* [CSS-only-chat](https://github.com/kkuchta/css-only-chat) - A truly monstrous async web chat using no JS whatsoever on the frontend.
|
|
* [FizzBuzzEnterpriseEdition](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition) - Simple FizzBuzz game implemented under the most strict enterprise standards.
|
|
* [MalbolgeLisp](https://github.com/kspalaiologos/malbolge-lisp) - A Lisp interpreter in Malbolge Unshackled.
|
|
* [NoCode](https://github.com/kelseyhightower/nocode) - Secure and reliable applications. Write nothing; deploy nowhere.
|
|
* [Petrovich](http://www.dangermouse.net/esoteric/petrovich.html) - Operating System concept based on random actions and rewards/punishments.
|
|
* [vapor.js](https://github.com/madrobby/vapor.js) - The World's Smallest & Fastest JavaScript Library.
|
|
|
|
## Resources
|
|
|
|
* [DM's Esoteric Programming Languages](http://www.dangermouse.net/esoteric) - List of esoteric languages and algorithms written by dangermouse.
|
|
* [Esofiles](https://github.com/graue/esofiles) - The Esoteric Files Archive, an archive of implementations of esoteric programming languages and examples.
|
|
* [Esolang](https://esolangs.org) - Wiki of esoteric programming languages and related Resources.
|
|
* [Esoteric Codes](https://esoteric.codes) - Articles and documents collection.
|
|
* [Rosettacode](http://rosettacode.org/wiki/Rosetta_Code) - Provides examples in different languages, including esoteric languages.
|
|
* [Wikipedia/Esoteric programming languages](https://en.wikipedia.org/wiki/Esoteric_programming_language) - Wikipedia list of esoteric languages.
|
|
* [Esolang List of ideas](https://esolangs.org/wiki/List_of_ideas) - Compilation of ideas for esoteric languages and related.
|
|
|
|
## Articles
|
|
|
|
* [Let's Build a Basic Interpreter (Ruslan's Blog)](https://ruslanspivak.com/lsbasi-part1) - 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](http://www.ybrikman.com/writing/2014/04/09/six-programming-paradigms-that-will) - Post by Yevgeniy Brikman describing different programming paradigms that are not commonly applied.
|
|
* [The Fun (and Madness) of Esoteric Programming Languages](https://tomassetti.me/discovering-arcane-world-esoteric-programming-languages) - Straightforward introduction to esoteric languages with examples.
|
|
* [On the Turing Completeness Of MS PowerPoint](http://www.andrew.cmu.edu/user/twildenh/PowerPointTM/Paper.pdf) - Turing Machine on PowerPoint.
|
|
|
|
## Community
|
|
|
|
* [Anarchy Golf](http://golf.shinh.org) - Informal [golfing](https://en.wikipedia.org/wiki/Code_golf) problems server.
|
|
* [Code Golf Stack Exchange](https://codegolf.stackexchange.com) - Golfing problems and answers.
|
|
* [Freenode IRC Channel](http://webchat.freenode.net/?channels=esoteric&uio=d4) - The #esoteric IRC channel on freenode.
|
|
* [Reddit Esolangs](https://www.reddit.com/r/esolangs) - Reddit community on esolangs.
|
|
* [Esolangs Discord Server](https://discord.gg/SdFJQmd4QJ) - A Discord community about esoteric languages.
|
|
|
|
|
|
> Logo used with permission of [David Morgan-Mar](http://www.dangermouse.net/esoteric/piet/samples.html)
|
|
|
|
[esolangs.md Github](https://github.com/angrykoala/awesome-esolangs
|
|
)
|