Modula-2
от Уикипедия, свободната енциклопедия
Наследникът на езикът Pascal, но с много важни разлики. Името MODULA (MODUlar LAnguage-2) е свързано с най-отличителната черта на езика - създаване на модули. Като използвате модулите, възможностите на ниско ниво, процесите и типовете процедури на Modula-2 да организира програмите в модулни единици го правят по-мощен и универсален от Pascal.
[редактиране] Създаване
Експериментирайки с концепцията за модулен език, авторът на Pascal - Никлаус Вирт създава MODULA, директен препрецесор на Modula-2. Новият език, обаче не е подходящ за широка употреба, така че той продължава да го разработва и подобрява, докато създава Modula-2. Първото инсталиране на компютър е през 1979г., а първото представяне пред публика-през 1981г.
[редактиране] Предимства
Най-значителните предимства на Modula-2 са модулите, отделното компилиране, модулните библиотеки, машинните възможности на ниско ниво, процесите и процедурните променливи.
Като сравните Modula-2 с Pascal, трябва да си дадете сметка, че Pascal е замислен като език за обучение, а Modula-2 е предназначен за професионални разработчици на софтуер. Строгият формат на деклариране и структурата на Pascal са подходящи за онези, които се учат да програмират, докато отделното компилиране на модулите са удобни възможности за напредналите програмисти.
Силните страни на Modula-2 се възможностите му за създаване на персонален системен софтуер. Pascal е добър за студенти и за приложно програмиране, но той изисква всички декларации да бъдат събрани на едно място и винаги да се компила цялата програма.Освен това с него се осигорявя трудно интерфейс с операции на машинно ниво, което затруднява системното програмиране. Modula-2 решава тези проблеми и е много ефективен именно за създаването на системен софтуер.
Специалните възможности на Modula-2 в известен смисъл усложняват програмите, така че езикът не е много подходящ за начинаещи.
Ada | ALGOL | APL | AspectJ | BASIC | COBOL | C | C++ | C# | D | ColdFusion | Delphi | Eiffel | Forth | FORTRAN | Haskell | Java | JavaScript | Jython | Lisp | Logo | Mesa | ML | Modula-2 | Oberon | Pascal | Objective-C | Perl | PHP | PL/I | PostScript | Powerbuilder | Prolog | Python | QBASIC | Ruby | Scheme | Smalltalk | Tcl/Tk | Visual Basic