Esoteric programming language

related topics
{math, number, function}
{language, word, form}
{system, computer, user}
{theory, work, human}
{area, community, home}
{food, make, wine}
{mi², represent, 1st}

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.

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, or even one for which the computational class is unknown.



The earliest, and still the canonical example of an esoteric language was INTERCAL, designed in 1972 by Don Woods and James M. Lyon, with the stated intention of being unlike any other programming language the authors were familiar with.[1] It parodies elements of established programming languages of the day, such as Fortran, COBOL, and assembly language.

Early implementations of INTERCAL were tied to the IBM System/360 and an unidentified Atari computer (probably the Atari 2600) and have not survived. For many years INTERCAL was represented only by paper copies of the INTERCAL manual. The language's revival in 1990 as an implementation in C under Unix stimulated a wave of interest in the intentional design of esoteric computer languages.

Full article ▸

related documents
Standard Generalized Markup Language
ElGamal encryption
Principal ideal
Discrete space
Initial and terminal objects
Fuzzy set
Gaussian integer
Burali-Forti paradox
Connected space
Möbius inversion formula
Triangle inequality
Torsion subgroup
Reserved word
Euclidean domain
Harmonic series (mathematics)
Twin prime
Infinite product
Floor and ceiling functions
Linear classifier
Inverse element
Transfinite induction
Enriched category
Bézout's theorem