Timeline of esoteric programming languages

From Esolang
Jump to navigation Jump to search
Not to be confused with History (programming language).

What follows is an attempt at a timeline of esoteric programming languages. Any notable languages should be included. Languages that have not yet garnered much attention are omitted.

1964

Corrado Böhm describes , a language for simplifying the task of programming Turing machines. While not intended as an esoteric programming language, it would later become an item of interest to esoteric programmers upon the revelation that it is almost identical to Brainfuck, invented 29 years later.

1968-1970

John Conway discovers Game of Life, a two-dimensional cellular automaton with many emergent behaviors.

1972

Donald R. Woods and James M. Lyon come up with INTERCAL, a programming language designed to have nothing in common with existing programming languages of the day. INTERCAL is considered the first true esoteric programming language.

1982

John Conway proves that Game of Life is Turing-complete, settling any foundational doubts about its suitability as a programming environment.

1986

Chris Langton publishes "ant", known as Langton's ant, a two-dimensional cellular automaton with many emergent behaviors.

1991

Biota, presumably the first two-dimensional esolang, is invented by Ward Cunningham and sold for a net profit.

1993

FALSE, a stack language with a 1024-byte compiler, is invented by Wouter van Oortmerssen. Later on, Urban Müller invents the Turing-tarpit brainfuck, outdoing FALSE with only eight instructions and a compiler just over 200 bytes.

Chris Pressey invents Befunge during this year. He and many other esoteric programmers, unaware of Biota, consider Befunge the first two-dimensional programming language. The version of Befunge created this year is now called Befunge-93. Due to its limitation of 80x25 for code size, it is not Turing-complete.

1994

Chris Pressey comes up with SMETANA, in which programs are series of steps like "Go to step n." and "Swap step a with step b." Being fairly useless, SMETANA is not given much attention.

Kvikkalkul, allegedly developed and used by the Swedish Navy in the 1950s, is made known to the public through anonymous postings on alt.folklore.computers.

1997

The Befunge-97 variant of Befunge is created. This standard turns out to be a turkey and is not widely implemented.

Chris Pressey, Ben Olmstead, and John Colagioia invent Wierd, a two-dimensional language based on wires, which represents instructions using changes in direction in the wires. Some controversy exists as to whether wires should be allowed to cross in Wierd.

1998

Funge-98, a generalization of Befunge, is standardized. The specification allows for funges in other dimensions: Unefunge in 1D, Trefunge in 3D, etc. Unlike Befunge-93, the new Befunge created by Funge-98 is Turing-complete.

Ben Olmstead invents Malbolge, the first recorded instance of a programming language designed to be as difficult as possible to program in. Worried that Malbolge may in fact be too hard, he goes on to invent Dis.

1999

Unlambda is created, the first esoteric functional language.

2000

John Colagioia invents Thue, the first prominent example of a string-rewriting language (although not the first to exist).

Jeffry Johnston describes BitChanger, the first one-bit version of Brainfuck, with a total of four instructions.

Paul Rendell builds a Turing machine in Conway's Game of Life, making it usable for general-purpose programming by allowing many programming languages to be compiled to it.

Gajardo, Moreira, & Goles prove that Langton's ant is Turing-complete, settling any foundational doubts about its suitability as a programming environment.

2001

Cliff L. Biffle invents HQ9+, which only has 4 useless instructions.

Chris Barker creates Iota and Jot, two sister-languages based on combinatory logic.

David Morgan-Mar creates Piet, a language in which programs look like abstract paintings and which uses image files as code.

2002

Nikita Ayzikovsky comes up with Smallfuck, a simplified Brainfuck with bounded storage and no IO. Although the language is not especially powerful, it can be compiled into SMETANA, a language previously thought to be entirely useless.

By this time, Matthew Cook had completed his proof of the universality of elementary (1-dimensional) cellular automata by implementing Cyclic tag system in Rule 110.

2003

Edwin Brady and Chris Morris invent Whitespace, which achieves some notoriety after being posted to the front page of Slashdot on April 1st.

Kipple is invented, and turns out to be the first esolang to rise to prominence in which the use of stacks is a defining characteristic.

In August, Francis Rogers invents PATH, a two-dimensional language bearing a strong instruction-set resemblance to Brainfuck. In September, Daniel Brockman refines the idea with SNUSP, a more orthogonal variant.

2005

Renewed interest in the wire-crossing problem, previously considered with regards to the languages Befunge and Wierd, brings about the two-dimensional languages Beturing, in which wires cannot cross, and Archway2, to which Brainfuck programs can be converted without crossing wires.

Chris Pressey writes a compiler that turns Smallfuck programs into lookup tables, illustrating that Smallfuck is, at best, a way to compress lookup tables, and SMETANA, being wordier, is not even that.

Martin Gasperowicz invents SADOL and implements it's interpreter with Adam Sawicki.

Gregor Richards creates ORK which is considered to be the first object-oriented esolang.

On the same year, Gregor Richards created Glass with heavy object-orientation.

On 6th April, the Esolang Wiki is created.

2006

Tanner Swett came up with ///, an extremely simplified, self-modifying string-rewriting language.

Jonathan Todd Skinner made Deadfish, a very odd interpreted language.

2007

Chris Pressey invented Emmental, a self-modifying esoteric programming language.

User:ais523's proof of the Turing completeness of Wolfram's 2-state 3-symbol Turing machine is accepted by Wolfram as correct.

LOLCODE took the internet by storm by dint of being memetic.

2011

User:Timwi created Funciton, a two-dimensional, minimalistic language.

2023

In the last 31 years (1993-2023), 4412 esolangs (recorded on this wiki) have been created. In average, an esolang is created about once every 2.5 days.

Note: Until 14th Dec. 2023

2038

On January 19th, Unix's time_t rolls over (In the 32-bit OS's, the 64-bit OS's is enough to last until the end of humanity. The 128-bit OS is even more can be used for a longer period of time, and it can hang up to that thing.) and a lot of things break. Many languages will be lost if unaltered.
On February 32nd, nothing happens as February 32nd will not exist until the year 5032, when 20 different leap years from different dimensions intersect and make February the longest month in recorded history, lasting 48 days.

The heat death of the universe

Feather is completed, and travels back in time before the Big Bang to set the events that lead to the creation of the universe in motion.

Outside of Time

The esoteric programming language ~ATH paradoxically has no true point of origin or destruction. It is a constant in every universe destined for intelligent life.

See also