Modula-2
Modula-2 — 1977–1985-ci illərdə Niklaus Virt tərəfindən işlənib hazırlanmış yüksək səviyyəli modullu proqramlaşdırma dili. Pascal dilinin əsasında yaradılmış Modula-2 proqramlaşdırmanın modulluğunu, verilənlərin mücərrədləşdirilməsinin dəstəklənməsi vasitələrini təmin edir, ancaq bəzi standart funksiyalara və prosedurlara malikdir. Modula-2 dilində hazırlanmış proqram modullar yığınından ibarətdir ki, onların da hər biri ayrılıqda kompilyasiya oluna bilər. Bu zaman proqram modulu iki hissəyə ayrıla bilər (ancaq bu vacib deyil): təyinetmələr modulu və reallaşdırma modulu. Təyinetmələr modulu, modulun xarici interfeysidir, yəni xarici modulların istifadə edə bilməsi üçün onun eksport etdiyi konstatların, dəyişənlərin, tiplərin, prosedur və funksiyaların başlıqlarının yığınıdır. Reallaşdırma modulu proqram kodundan, o cümlədən təyinetmələr modulunda sadalananların konkret təsvirindən ibarətdir. Məsələn, təyinetmələr modulunda hər hansı tipin yalnız adı göstərilə bilər, onun tam strukturu isə reallaşdırma modulunda verilə bilər. Bu halda xarici modullar həmin tipin qiymətlərini yarada, onunla işləyən prosedur və funksiyaları çağıra, dəyişənləri mənimsədə bilər, ancaq qiymətlərin strukturuna birbaşa erişə bilməz, çünki bu struktur təyinetmələr modulunda təsvir olunmayıb. Əgər təyinetmələr modulunda bu tipin strukturunu təsvir etsək, ona erişmək mümkün olacaq. Modula-2 dilində qlobal səviyyəli modullarla yanaşı, lokal modullar da yaratmaq olur. Modula-2 dilinin özündə giriş-çıxış vasitələri yoxdur, bunun əvəzində konkret sistemlər üçün nəzərdə tutulmuş kitabxana modullarından istifadə olunur. Ancaq adi hallar (klaviaturadan daxiletmə, faylların oxunub-yazılması) üçün zəruri funksiyalardan ibarət standart giriş-çıxış kitabxanaları da vardır. Modula-2 dili struktur baxımından çox sadədir, onda cəmi 40 ehtiyatda saxlanmış söz (RESERVED WORD) vardır (müqayisə üçün, Ada dilində belə sözlərin sayı 63-dür). Dilin hərtərəfli təsviri 40 səhifədən ibarətdir (PL/1 dilinin tam təsvirinin qısaldılmış variantı təxminən 200 səhifə tutur). Modula-2 dili registrdən asılıdır, yəni identifikatorların adlarında kiçik və böyük hərflərin fərqi var. Bütün açar sözlər yuxarı registrdə yazılmalıdır. MODULE Hello; FROM STextIO IMPORT WriteString; BEGIN   WriteString("Hello World!"); END Hello.