1. Home
  2. /
  3. Befunge
  4. /
  5. Subtract Two Numbers

Subtract Two Numbers - Befunge Typing CST Test

Loading…

Subtract Two Numbers — Befunge Code

Subtracts second number from first and prints it.

8 3 - .

Befunge Language Guide

Befunge is a two-dimensional esoteric programming language where code flows across a grid in multiple directions, allowing self-modifying behavior and unusual program structures.

Primary Use Cases

  • ▸Code-golf challenges using 2D logic
  • ▸Educational demonstrations of non-linear control flow
  • ▸Studying self-modifying grid-based programs
  • ▸Obfuscation and creative puzzle programs
  • ▸Esoteric language experimentation

Notable Features

  • ▸Two-dimensional instruction execution
  • ▸Self-modifying code via 'p' and 'g' instructions
  • ▸Stack-based operations
  • ▸Randomized flow with '?' instruction
  • ▸Readable ASCII grid layout

Origin & Creator

Befunge was created in 1993 by Chris Pressey as a language intentionally difficult to compile and optimize.

Industrial Note

Befunge is mainly used in recreational programming, code-golf challenges, esolang experimentation, and demonstrations of self-modifying 2D code flow patterns.

Quick Explain

  • ▸Befunge programs run on a 2D grid instead of a linear sequence.
  • ▸The instruction pointer can move up, down, left, right, or randomly.
  • ▸Because instructions reside on a modifiable grid, Befunge supports self-modifying code.
  • ▸It is stack-based, with most operations manipulating a central stack.
  • ▸Its design intentionally frustrates optimizers and traditional compilers.

Core Features

  • ▸Instruction pointer moves in four directions
  • ▸Grid-addressable memory for code/data
  • ▸Stack manipulation for logic and math
  • ▸String mode for pushing characters
  • ▸Built-in I/O operations

Learning Path

  • ▸Learn stack operations
  • ▸Understand pointer movement
  • ▸Study basic 2D program layouts
  • ▸Experiment with self-modifying examples
  • ▸Join code-golf challenges

Practical Examples

  • ▸Hello World program
  • ▸Simple math calculators
  • ▸Flow-control mazes
  • ▸Self-modifying demos
  • ▸Randomized path generators

Comparisons

  • ▸Befunge vs Brainfuck: Befunge uses 2D flow and is more visual; Brainfuck is linear and minimal.
  • ▸Befunge vs Malbolge: Befunge is readable and creative; Malbolge is chaotic and nearly impossible.
  • ▸Befunge vs Python: Python is structured; Befunge is playful and visual.
  • ▸Befunge vs Assembly: Assembly is practical; Befunge is artistic.
  • ▸Befunge vs INTERCAL: Both esoteric, but Befunge uses 2D execution.

Strengths

  • ▸Visually interesting 2D code layout
  • ▸Great for puzzles and creativity
  • ▸Self-modifying code built-in
  • ▸Compact, expressive programs
  • ▸Vibrant esolang community support

Limitations

  • ▸Not suitable for large applications
  • ▸Hard to debug due to non-linear flow
  • ▸Limited standard libraries
  • ▸Hard for beginners to understand
  • ▸Optimizing compilers struggle with its design

When NOT to Use

  • ▸Production software
  • ▸Large-scale systems
  • ▸Safety-critical applications
  • ▸Maintainable codebases
  • ▸Performance-heavy tasks

Cheat Sheet

  • ▸>: Move right
  • ▸<: Move left
  • ▸^: Move up
  • ▸v: Move down
  • ▸p/g: Modify/read grid cell

FAQ

  • ▸Is Befunge free?
  • ▸Yes - entirely free and open-source.
  • ▸Which version should I use?
  • ▸Befunge-93 for simplicity, Befunge-98 for extended features.
  • ▸Can Befunge be self-modifying?
  • ▸Yes, using 'p' and 'g' instructions.
  • ▸Is Befunge Turing-complete?
  • ▸Yes - it supports loops, conditions, and unbounded memory (in extended versions).
  • ▸Are there online interpreters?
  • ▸Yes - many web-based Befunge editors exist.

30-Day Skill Plan

  • ▸Week 1: Basic instructions + stack practice
  • ▸Week 2: Direction control and branching
  • ▸Week 3: String mode + I/O mastery
  • ▸Week 4: Self-modification via p/g
  • ▸Week 5: Code-golf optimization

Final Summary

  • ▸Befunge is a 2D esoteric language with a playful design.
  • ▸Self-modifying code and multi-directional flow define its uniqueness.
  • ▸Common in puzzles, challenges, and experimental computing.
  • ▸Simple yet expressive stack-based instruction model.
  • ▸Remains one of the most beloved esolangs.

Project Structure

  • ▸src/ - Befunge (.bf) files
  • ▸examples/ - sample programs
  • ▸tests/ - program outputs
  • ▸docs/ - instruction references
  • ▸tools/ - interpreters and utilities

Monetization

  • ▸Workshops or teaching content
  • ▸Books on esolangs
  • ▸Puzzle competitions
  • ▸Code-golf sponsorship
  • ▸No direct monetization usually

Productivity Tips

  • ▸Use visual editors
  • ▸Plan 2D flow before coding
  • ▸Master stack operations
  • ▸Use self-modification sparingly
  • ▸Leverage direction control carefully

Basic Concepts

  • ▸2D grid memory model
  • ▸Instruction pointer movement
  • ▸Stack manipulation
  • ▸String mode pushing characters
  • ▸Self-modification via 'p' and 'g'

Official Docs

  • ▸https://esolangs.org/wiki/Befunge
  • ▸https://github.com/catseye/Befunge-93

More Befunge Typing Exercises

Hello World in BefungeBefunge Simple AdditionBefunge Print Numbers 0-9Befunge Echo InputBefunge Loop ExampleBefunge Print ABefunge Multiply Two NumbersBefunge Clear Stack ExampleBefunge Hello Befunge

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher