Modula-2
Z Wikipedii
Modula 2 to język programowania wysokiego poziomu stworzony przez Niklausa Wirtha.
Spis treści |
[edytuj] Historia
Język Modula 2 stworzony został podczas prac badawczych w Instytucie Informatyki Politechniki w Zurichu. Prace nad językiem rozpoczęto w 1977 r., a ich efektem była pierwsza implementacja tego języka zrealizowana w 1979 r. na komputerze PDP-11. Definicja języka opublikowana została w 1980 r..
Język wywodzi się z Pascala i Moduli. Zwiera w sobie wszystkie mechanizmy Pascala oraz rozszerzenia o ważne pojęcia modułu i mechanizmy wieloprogramowości. Składnię języka oparto na składni Moduli (po zrealizowaniu Moduli 2 i innych, język Modula czasem określano - dla jednoznaczności - jako Modula 1). Należy podkreślić, że kolejne cyfry nie oznaczają kolejnych wersji rozwojowych, lecz osobne języki budowane na tych samych wzorcach, lecz o różniących się założeniach i przeznaczeniu.
[edytuj] Składnia
Każdy program składa się z modułu lub wielu modułów. Moduły zewnętrzne mogą być kompilowane niezależnie. Moduły mogą być zgłębione w innych modułach. Moduł ma postać:
pre MODULE nazwa; listy_importowe deklaracje BEGIN instrukcje END nazwa.
Moduły dzielą się na:
- moduły programu
- moduły definiujące : pre=DEFINITION
- moduły implementujące : pre=IMPLEMENTATION
Instrukcja IMPORT listy_importowej pozwala importować obiekty z innych modułów. Do udostępniania własnych obiektów służy instrukcja EXPORT.
Język wyposażony został w instrukcje strukturalne wzorowane na instrukcjach Pascala z pewnymi rozszerzeniami. Zasadnicza różnica, wywodząca się z Moduli 1, to słowo kluczowe END zamykające każdą instrukcję strukturalną, co eliminuje konieczność stosowana instrukcji grupującej (jak begin…end w Pascalu, czy {…} w języku C). Ponadto rozszerzono postać instrukcji IF i FOR oraz wprowadzono instrukcję pętli LOOP dla programowania współbieżnego.
IF w1 THEN si1 [ELSIF w2 THEN si2 [ELSIF w3 THEN si3 …]] [ELSE si-else] END
CASE wyr OF w1 : si1 | [w2 : si2 [ | …]] [ELSE si_else] END
WHILE w DO si END
REPEAT si UNTIL w
FOR i:=w TO w2 [BY w3] DO si END
LOOP si END
[edytuj] Współbieżność
Język Modula 2 udostępnia mechanizmy do programowania procesów współbieżnych - zarówno procesów:
- luźno związanych (loosely coupled), jak i
- silnie zwiÄ…zanych (tightly coupled).
W Moduli 2 mechanizmy współbieżności oparto o rozwiązania znane z języków Modula i Concurrent Pascal. Komunikacja między procesami odbywa się za pomocą zmiennych współdzielonych i sygnałów.
[edytuj] Inne właściwości
W języku wprowadzono również dla potrzeb programowania systemowego mechanizmy niskiego poziomu pozwalające na ominięcie reguł związanych ze ścisłą kontrolą typów obowiązującą w tym języku.
[edytuj] Zobacz też
ABAP • Ada • AWK • Asembler • C • C++ • C# • COBOL • Common Lisp • D • F# • Forth • Fortran • GAUSS • Icon • Java • JavaScript • Lisp • Lustre• Modula 2 • Ocaml • Oberon • Object Pascal • Objective-C • Pascal • Perl • PHP • PL/SQL • Python • REXX • Ruby • SAS 4GL • sh • Smalltalk • Snobol • SQL • Visual Basic • VB.NET • XUL
Akademickie: Comal • Eiffel • Haskell • Logo • MCPL • ML • Nemerle • Prolog • Scheme
Historyczne: ALGOL • APL • BASIC • Clipper • JAS • MUMPS • PLAN • PL/I • PL/M • SAKO • SAS (asembler) • Simula
Inne: Erlang • occam • QCL
Ezoteryczne: INTERCAL • Brainfuck • BeFunge • Unlambda • Malbolge • Whitespace • FALSE • HQ9+ • Shakespeare • Whirl • Ook
| Holendrzy przeproszą za "polskie obozy zagłady" |
Internauta z Holandii zaalarmował nas, że w dzienniku "Algemeen Dagblad" w artykule dotyczącym zmarłej Ireny Sendler pojawia się stwierdzenie, że "Żydzi byli deportowani do polskich obozów zagłady". Gazeta przeprosi za to sformułowanie.
|
| W Chinach znów trzęsie się ziemia |
Niedaleko epicentrum trzęsienia ziemi w Chinach zarejestrowano wstrząsy wtórne o sile 5,9 w skali Richtera - poinformowała agencja Xinhua. Liczba ofiar poniedziałkowego kataklizmu wzrosła już do ponad 21,5 tys.
|
| Szpiegowska afera gruzińsko - rosyjska |
Zdemaskowaliśmy gruzińskiego szpiega, który działał na Północnym Kaukazie -podała rosyjska FSB. To "absurdalne oskarżenie" i "prowokacja" - odpowiada Tbilisi.
|
| Gorbaczow do Kaczyńskiego: Opiekujcie się Jaruzelskim |
- Czy rzeczywiście nie możecie rozwiązać problemu już niemłodego, chorego człowieka - generała, który wiele zrobił dla Polski? - z taką prośbą zwrócił się do Lecha Kaczyńskiego ostatni przywódca ZSRR Michaił Gorbaczow. Rosjanin poprosił też "o otoczenie chorującego Jaruzelskiego uwagą".
|
| Bin Laden ponownie przemówił |
- Jak długo na świecie będzie żył jeden prawdziwy muzułmanin, nie oddamy ani cala Palestyny - powiedział na ujawnionym nagraniu Osama Bin Laden z okazji 60. rocznicy powstania Izraela.
|
Internauta z Holandii zaalarmował nas, że w dzienniku "Algemeen Dagblad" w artykule dotyczącym zmarłej Ireny Sendler pojawia się stwierdzenie, że "Żydzi byli deportowani do polskich obozów zagłady". Gazeta przeprosi za to sformułowanie.
Niedaleko epicentrum trzęsienia ziemi w Chinach zarejestrowano wstrząsy wtórne o sile 5,9 w skali Richtera - poinformowała agencja Xinhua. Liczba ofiar poniedziałkowego kataklizmu wzrosła już do ponad 21,5 tys.
Zdemaskowaliśmy gruzińskiego szpiega, który działał na Północnym Kaukazie -podała rosyjska FSB. To "absurdalne oskarżenie" i "prowokacja" - odpowiada Tbilisi.
- Czy rzeczywiście nie możecie rozwiązać problemu już niemłodego, chorego człowieka - generała, który wiele zrobił dla Polski? - z taką prośbą zwrócił się do Lecha Kaczyńskiego ostatni przywódca ZSRR Michaił Gorbaczow. Rosjanin poprosił też "o otoczenie chorującego Jaruzelskiego uwagą".
- Jak długo na świecie będzie żył jeden prawdziwy muzułmanin, nie oddamy ani cala Palestyny - powiedział na ujawnionym nagraniu Osama Bin Laden z okazji 60. rocznicy powstania Izraela.