An esoteric programming language (sometimes shortened to esolang) is a programming language designed as a test of the boundaries of computer programming language design, as a proof of concept, or as a joke. There is usually no intention of the language being adopted for real-world programming. Such languages are often popular among hackers and hobbyists. This use of esoteric is meant to distinguish these languages from more popular programming languages. Some more popular languages may appear esoteric (in the usual sense of the word) to some, and though these could arguably be called "esoteric programming languages" too, this is not what is meant.
Usability is rarely a high priority for such languages; often quite the opposite. The usual aim is to remove or replace conventional language features while still maintaining a language that is Turing-complete.
More than twenty years later, Urban Müller created the now-famous brainfuck, which consist of only eight recognized characters. Along with Befunge, brainfuck is now one of the most well-supported esoteric programming languages. These are canonical examples of minimal Turing tarpits and needlessly obfuscated language features; brainfuck's minimality borders on elegant and pure language design.
The esolang community is active sporadically, and topics of discussion range from debate as to whether a language is Turing-complete to how one would go about representing abstract and hard to visualise mathematical concepts in a programming environment. There is a mailing list, but as of 2005 the mailing list is nearly abandoned and most discussion happens on the wiki (see below).
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.
Esoteric programming languages
Esoterische Programmiersprache | Lenguaje de programación esotérico | Langage de programmation exotique | 난해한 프로그래밍 언어 | Ezoteryczny język programowania | Linguagem de programação esotérica | Эзотерические языки программирования
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Esoteric programming language".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world