Programming Languages

From Oberon to Go: A Short Family Tree

A compact overview of the Oberon family of languages and how their ideas lead to Go. The lineage runs from Pascal and Modula-2 through Oberon and its variants to Go, with shared emphasis on simplicity, strong typing, and clear semantics.

Oberon (1986) — Niklaus Wirth & Jurg Gutknecht

  • Evolved from Pascal and Modula-2; designed for simplicity and efficiency.
  • Strong typing, modular programming, integrated development environment.
  • Used in software and hardware (e.g. Ceres workstation); part of Project Oberon at ETH Zurich.

Oberon-2 (1991) — Hanspeter Mössenböck

  • Extension of Oberon with object-oriented features.
  • Type-bound procedures, read-only export of variables and methods.
  • Improved type safety and reusability.

Modula-3 (1988) — Luca Cardelli, James Donahue, Greg Nelson, Paul Rovner, Andrew Birrell

  • Evolution of Modula-2: simplicity, safety, systems programming.
  • Garbage collection, exception handling, strong type system with modules.
  • Concurrency and generic programming.

Active Oberon (1997) — Jurg Gutknecht

  • Extends Oberon with active objects and concurrency.
  • Combines object-oriented and system-programming features.
  • Runtime and language support for concurrent processes.

Zonnon (2005) — Jurg Gutknecht

  • Draws on Oberon, Active Oberon, and Modula-2.
  • Component-oriented programming, concurrency and parallelism.
  • Refined syntax and semantics.

Oberon-07 (2007) — Niklaus Wirth

  • Simplified, modernized Oberon.
  • Removed deprecated features; clearer syntax and safer semantics.
  • Streamlined compiler and language report.

Component Pascal (1997)

  • Clemens Szyperski: Component Pascal at Oberon Microsystems (1991–1997); component-based software; author of Component Software: Beyond Object-Oriented Programming.
  • K. John Gough: Co-developed Gardens Point Component Pascal for .NET.

Derived from Oberon-2 with stronger object-oriented and component-oriented features; designed for component-based software engineering and .NET integration (Gardens Point).