Modula-2

Modula-2
Paradigma imperatief programmeren, gestructureerd programmeren, Modulair programmeren, gedistribueerd programmeren
Verschenen 1978
Ontwerper Niklaus Wirth
Ontwikkelaar Niklaus Wirth
Huidige versie 1.6.879[1]
(januari 2022)
Typesysteem statisch typesysteem, sterk typesysteem, safe typing
Implementaties GNU Modula-2 en andere
Beïnvloed door Mesa, Pascal, Modula
Invloed op Modula-3, Oberon, Ada, Fortran-90, Lua
Besturings­systeem Windows[1]
Licentie freeware[1]
Bestands­extensies mod, m2, def, MOD, DEF, mi, md
Website (en) Projectpagina
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

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.[bron?]

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

Verwantschappen

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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.