Modula-2

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Modula-2
Paradigma imperatief
Verschenen in 1978
Ontworpen door Niklaus Wirth
Typesysteem statisch, sterk
Implementaties GNU Modula-2 en anderen
Beïnvloed door Pascal, Mesa, Algol, Simula 67
Invloed op Modula-3, Oberon, Ada, Fortran-90
Portaal  Portaalicoon   Informatica

Modula-2 is een programmeertaal die in 1978 werd ontwikkeld aan het instituut ETH Zürich (Eidgenössische Technische Hochschule Zürich) door Niklaus Wirth. De naam verwijst naar een eerder ontwikkelde programmeertaal die gewoon Modula heette.

Beschrijving[bewerken]

Modula-2 is een algemeen inzetbare procedurele taal, flexibel genoeg voor systeemontwikkeling, maar met veel bredere toepassingsmogelijkheden. De taal werd zo ontwikkeld dat ze aparte compilatie en het belangrijke concept gegevensabstractie op een heldere manier ondersteunt. De syntaxis is grotendeels gebaseerd op Wirths oudere en veel bekendere taal, Pascal. Modula-2 moest een sterk verwante taal worden, waarin enkele Pascal-kenmerken ontbraken. Toevoegingen waren dan weer het belangrijke idee van de module en directe ondersteuning in de taal voor multitasking.

De module kan in Modula-2 gebruikt worden om een groep verwante subprogramma's en gegevensstructuren in te kapselen. Het moduleontwerp was een bijzonder elegante manier om het kenmerk gegevensabstractie te implementeren. Programma's in Modula-2 bestaan uit modules die zelf uit twee delen bestaan: een definitiemodule (Engels: definition module) - het interfacegedeelte met enkel die delen van het subsysteem die zichtbaar zijn voor andere modules - en een implementatiemodule (Engels: implementation module), die de interne programmacode van de module bevat. De taal zorgt voor veel problemen bij beginnende studenten.

De taal bevat voorzieningen voor (tot op zekere hoogte) parallelle processen in één processor en voor hardwaretoegang (absolute adressen, bitmanipulatie en interrupts).

Verwantschappen[bewerken]

Hoewel Modula-2 veruit de bekendste en meest gebruikte variant is, zijn er diverse talen die hier op een of andere manier aan verwant zijn: het originele, en grondig verschillende, Modula, Modula-2+, Modula-2*, Modula-3 (van DEC en Olivetti, met de toevoeging van garbage collection, Oberon (een later ontwerp van Wirth), en nog een aantal andere. Deze moeten niet beschouwd worden als "betere versies" of "vervangingen" van Modula-2; meestal gaat het om andere talen met een ander doel, en met hun eigen sterke en zwakke punten.

Externe link[bewerken]