What is Befunge-98?
Befunge-98 is an extended, more advanced version of the original Befunge-93 programming language. Like its predecessor, it treats code as a two-dimensional grid where execution can move in any direction — up, down, left, or right — instead of following a linear path like normal languages.
However, Befunge-98 expands the concept dramatically: it adds multi-dimensional playfields, file I/O, modular semantics, fingerprints (plugin instruction sets), concurrency, and much larger execution space. Where Befunge-93 was a chaotic joke, Befunge-98 became a fully capable — yet still deeply weird — esolang ecosystem.
Specs
Language Type: Esoteric / 2D and 3D execution
Released: 1998
Creator: Chris Pressey
Execution Model: Multi-directional instruction pointer and stack
Key Feature: Extendable behavior through “fingerprints”
Difficulty: High
CODE EXAMPLE (Hello World)
A common Befunge-98 “Hello World” program looks like this:
>25*"!dlroW ,olleH":v
v:,_@
> ^
This prints:
Hello, World!
Directional characters control the execution path across the grid.
How It Works
- The instruction pointer travels across a grid of characters.
- Arrows change direction (
> < ^ v). - Numbers push values to the stack.
- String mode stores characters to the stack until closed.
-
@ends the program. - “Fingerprints” extend the language, adding instructions for:
- File access
- Networking (in some implementations)
- Extra math and logic
- System-level interaction
Unlike Befunge-93 (limited to a fixed space), Befunge-98 allows dynamic memory planes.
Strengths
- Much more powerful than Befunge-93.
- Capable of real I/O, file handling, and program extensions.
- Supports multidimensional computation and concurrency.
- Interesting platform for experimental algorithm design.
Weaknesses
- Extremely hard to debug because execution is non-linear.
- Programs quickly turn into visual mazes.
- Fingerprint support is inconsistent between interpreters.
- Still impractical for real software development.
Where to Run
Befunge-98 can be executed in online interpreters like TIO.run or through downloadable interpreters from GitHub and classic esolang archives.
Should You Learn It?
For serious programming: No
For exploring multi-dimensional programming: Yes
For esolang collection or puzzles: Definitely
For sanity: No
Summary
Befunge-98 takes the chaotic idea of 2D execution introduced by Befunge-93 and expands it into a more powerful, flexible, and experimental language. With full I/O support, concurrency features, and optional extensions, Befunge-98 stands as one of the most advanced esolangs for developers who enjoy playful chaos, experimental execution flow, and unconventional logic structures.
Top comments (0)