Modula-2 è un linguaggio di programmazione general-purpose creato da Niklaus Wirth ed è il diretto successore di Pascal.
![]() |
Questa voce sull'argomento linguaggi di programmazione è solo un abbozzo.
Contribuisci a migliorarla secondo le convenzioni di Wikipedia.
|
Modula-2 linguaggio di programmazione | |
---|---|
Autore | Niklaus Wirth |
Data di origine | 1978 |
Paradigmi | programmazione imperativa, programmazione strutturata, programmazione modulare e programmazione concorrente |
Influenzato da | Pascal e Modula |
Ha influenzato | Modula-3 |
Implementazione di riferimento | |
Sistema operativo | Multipiattaforma |
Modifica dati su Wikidata · Manuale |
Modula-2 corregge i problemi e le ambiguità del suo predecessore. Tra le caratteristiche principali vi è il concetto di modulo, ossia di un'unità logica che incapsula al suo interno dati e procedure, limitandone la visibilità all'esterno. Questo permette una migliore organizzazione del programma (cfr. programmazione modulare).
Essendo un linguaggio tipizzato non ammette conversioni implicite fra tipi di dati diversi, come per esempio REAL e INTEGER, e ci vuole una funzione di conversione apposita. I linguaggi fortemente tipizzati producono un codice più corretto e per questo motivo sono i linguaggi più utilizzati nel settore mission-critical come ad esempio l'aerospaziale e il nucleare.
Dato che in tempi passati non vi era un set standard di librerie ogni produttore offriva il proprio, come ad esempio Logitech e TopSpeed, e vi erano grossi problemi nella migrazione del software da un sistema all'altro. Lo standard ISO promise di risolvere questi problemi ma uscì troppo tardi e i produttori di compilatori persero interesse nel linguaggio Modula-2. Molti utenti e società spostarono il loro ambiente di sviluppo in versioni modificate del predecessore come Turbo Pascal o il più nuovo Delphi. Per questo motivo oggi è largamente sconosciuto. Tuttavia, Modula-2 sta riemergendo gradualmente in questi ultimi anni grazie alla nascita del compilatore open source GNU Modula-2.
MODULE Hello; FROM InOut IMPORT WriteString, WriteLn; BEGIN WriteString("Hello World!"); WriteLn; END Hello.
Controllo di autorità | LCCN (EN) sh85086455 · J9U (EN, HE) 987007541017205171 (topic) |
---|