Modula-2

E11139

Modula-2 is a systems programming language designed by Niklaus Wirth that extends Pascal with modules, concurrency features, and low-level facilities for structured, efficient software development.

All labels observed (12)

How this entity was disambiguated

Statements (65)

Predicate Object
instanceOf programming language
systems programming language
countryOfOrigin Switzerland
designedFor efficient software development
reliable systems software
structured software development
designer Niklaus Wirth
developerAffiliation ETH Zurich
executionModel compiled language
extends Pascal
fileExtension .mod
firstAppeared early 1980s
hasFeature WITH statement
concurrency support
coroutines
enumerated types
explicit import and export lists
explicit interfaces via definition modules
for loops
implementation modules
low-level facilities
modules
procedure types
range-checked array indexing (implementation-dependent)
record types
repeat-until loops
separate compilation
separate interface and implementation
set types
strong static typing
system-level programming constructs
type-safe separate compilation units
variant records
while loops
hasKeyword BEGIN
DEFINITION
END
EXPORT
IMPLEMENTATION
IMPORT
MODULE
hasStandard ISO/IEC 10514
influenced Ada (programming language)
surface form: Ada (module concepts)

Component Pascal
Modula-3
Oberon
Oberon-2
influencedBy Modula-2 self-linksurface differs
surface form: Modula

Pascal
memoryModel manual memory management
notableImplementation Modula-2 self-linksurface differs
surface form: ETH Zurich Modula-2 compiler

Modula-2 self-linksurface differs
surface form: GNU Modula-2

Mocka Modula-2
Modula-2 self-linksurface differs
surface form: Stony Brook Modula-2
paradigm imperative programming
modular programming
structured programming
standardizedBy International Organization for Standardization
surface form: ISO
supports concurrent programming
embedded systems programming
systems programming
supportsAbstraction information hiding via modules
typingDiscipline static typing
strong typing
yearDesigned late 1970s

How these facts were elicited

Referenced by (31)

Full triples — surface form annotated when it differs from this entity's canonical label.

Pascal influenced Modula-2
Modula-3 influencedBy Modula-2
Oberon influencedBy Modula-2
Oberon successorTo Modula-2
Go influencedBy Modula-2
this entity surface form: Modula
Modula-2 influencedBy Modula-2 self-linksurface differs
this entity surface form: Modula
Modula-2 notableImplementation Modula-2 self-linksurface differs
this entity surface form: ETH Zurich Modula-2 compiler
Modula-2 notableImplementation Modula-2 self-linksurface differs
this entity surface form: Stony Brook Modula-2
Modula-2 notableImplementation Modula-2 self-linksurface differs
this entity surface form: GNU Modula-2
Niklaus Wirth knownFor Modula-2
this entity surface form: Modula-2 programming language
Niklaus Wirth developed Modula-2
this entity surface form: Modula programming language
Niklaus Wirth developed Modula-2
this entity surface form: Modula-2 programming language
Niklaus Wirth authorOf Modula-2
this entity surface form: Programming in Modula-2
Mesa influenced Modula-2
subject surface form: Mesa (programming language)
Oberon-2 influencedBy Modula-2
Component Pascal influencedBy Modula-2
ISO/IEC 10514 standardFor Modula-2
ISO/IEC 10514 title Modula-2
subject surface form: ISO/IEC 10514-2
this entity surface form: Modula-2 – Modules and separate compilation
ISO/IEC 10514 title Modula-2
subject surface form: ISO/IEC 10514-3
this entity surface form: Modula-2 – Generic extensions
ISO/IEC 10514 title Modula-2
subject surface form: ISO/IEC 10514-4
this entity surface form: Modula-2 – Safety and security extensions
Algol W influenced Modula-2
Mocka Modula-2 implementsStandard Modula-2
this entity surface form: Modula-2 language specification
Wirth knownFor Modula-2
subject surface form: Niklaus Wirth
Oberon programming language successorOf Modula-2
subject surface form: Oberon
Oberon programming language influencedBy Modula-2
subject surface form: Oberon
Project Oberon influencedBy Modula-2
ALGOL influenced Modula-2