Esoteric programming language
Esoteric programming languages are programming languages designed as a proof of concept, or as jokes, and not with the intention of being adopted for real-world programming. Consequently, usability is rarely a high priority for such languages. The usual aim is to remove or replace conventional language features while still maintaining a language that is Turing-complete.The earliest, and still the canonical, esoteric language was Intercal, designed in 1972 with the stated aim of being as fundamentally unlike any existing language as possible. Other noteworthy esoteric languages are:
- Brainfuck, a Turing tarpit consisting of only eight instructions
- Unlambda, a minimal language based on the functional programming paradigm
- Befunge, in which programs are arranged on a two-dimensional grid
- Malbolge, designed to be the hardest programming language ever invented.
- The language of Tierra "organisms", which is designed to be less brittle than regular programming languages or machine codes when serving as digital DNA in an environment of competing and mutating digital "organisms".
- Whitespace, a programming language where only whitespace (space, tab, newline) matters.
The esolang community is active sporadically, and topics of discussion range from debate as to whether or not a language is Turing-complete to how one would go about representing abstract and hard to visualise mathematical concepts in a programming environment.
Turing completeness is a favorite topic of discussion, since it is not immediately obvious whether or not a language is Turing Complete, and it often takes rather large intuitive leaps to come to a solution. New languages with new features are always being created, so proof of Turing Completeness is always a challenge.
A related pursuit among programming language enthusiasts is the writing of obfuscated code.
See also
External links