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 | |||
| Besturingssysteem | Windows[1] | |||
| Licentie | freeware[1] | |||
| Bestandsextensies | mod, m2, def, MOD, DEF, mi, md | |||
| Website | (en) Projectpagina | |||
| ||||
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.
Externe link
- (en) Projectpagina
- ↑ a b c (en) Modula-2, ADW Modula-2: History January 2022. Gearchiveerd op 15 april 2023. Geraadpleegd op 15 april 2023. “ADW Modula-2, © ADW Software”
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.
- 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:
- 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.
- 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.
- 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.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.