Befunge

Befunge
DeveloperChris Pressey
First appeared1993 (1993)
Websitecatseye.tc/node/Befunge-93.html
Influenced by
Forth, FALSE

Befunge is a two-dimensional stack-based, reflective, esoteric programming language.[1] It differs from conventional languages in that programs are arranged on a two-dimensional grid. "Arrow" instructions direct the control flow to the left, right, up or down, and loops are constructed by sending the control flow in a cycle. It has been described as "a cross between Forth and Lemmings".[2]

Befunge was created by Chris Pressey in 1993 for the Amiga. The language was designed to be as hard to compile as possible, featuring self-modifying code and a multi-dimensional playfield. Despite this, several compilers have been written for the language. The original Befunge-93 specification limited programs to an 80x25 grid, and while not Turing-complete, subsequent extensions like Funge-98 expanded the concept to achieve Turing completeness.

The name "Befunge" originated from a typing error in an online discussion. While it was designed to be difficult to compile, compilers such as bef2c and Betty have managed to implement the language using various techniques. Befunge programs are characterized by their use of arrows to change control flow, and they can produce outputs like random number sequences or classic "Hello, World!" messages.

  1. ^ "Befunge – Esolang".
  2. ^ "The Befunge FAQ v.4". 1997-11-04. Archived from the original on 2001-04-17. Retrieved 2014-01-23.