Язык программирования Modula-2
Полезная статья? Пожалуйста, поставьте "+"
Языки программирования и методы трансляции - Содержание
Очевидно, что нашим первичным делом был не язык, удовлетворяющий всем желаниям всех программистов, а создание достаточно мощного инструмента для реализации всей программной системы в кратчайшие сроки с ограниченными людскими ресурсами. Никлаус Вирт
Цель данного пособия не дать полное описание языка, а рассмотреть его основные концепции и особенности. Описание синтаксиса языка и рекомендации по составлению программ можно найти в [11,12,13,14].
Язык Modula-2 был создан Н. Виртом на основе языков Pascal [15] и Modula [11]. Первая реализация Modula-2 заработала на PDP-11 в 1979г., а первое определение языка было опубликовано в марте 1980г.
Если говорить о месте Modula-2 среди других языков, то это универсальный язык программирования высокого уровня, стоящий в одном ряду с такими языками, как Pascal и С. Обладая сопоставимыми с языком Ada выразительными возможностями, он в то же время неизмеримо компактнее и проще. Спроектирован он был на основе опыта работы с языком Pascal прежде всего для создания больших систем и для организации совместной работы больших коллективов программистов, принимающих участие в общем проекте. Этот язык, как и любой другой, накладывает определенный отпечаток на стиль мышления программиста.
Модула-2 – это язык, который должен был заменить Паскаль, устранив основное его ограничение – отсутствие модульности. Но этого в полной мере не произошло. Благодаря политике компании Borland, которая в тот момент, когда нужно было обеспечить модульность в создаваемых ею системах программирования, решила, что выгоднее добавить новые элементы в Паскаль, а не переходить на Модулу-2. Тем не менее, известно, что Модула-2 использовалась в проектах, где важнейшую роль играет надежность. Средства межмодульного контроля Модулы-2 заметно совершенней аналогичных возможностей Турбо Паскаля и Си.
Все языки программирования можно условно разделить на два типа – языки-ядра и языки-оболочки. Языки-ядра являются самодостаточными, имеют четкую и ясную структуру, простой и кратко описываемый синтаксис. Изучение такого языка обычно непродолжительно, но тем не менее такие языки позволяют писать любые программы любой сложности. Паскаль Н. Вирта и Modula-2 являются типичными языками-ядрами. Однако для таких языков введение новых понятий или расширение языка сопряжено со значительными трудностями, т.к. это требует разрушение простой логики и изменение основных, базовых понятий. С другой стороны стоят языки-оболочки, в которых могут быть неопределенны некоторые необходимые вещи, реализованные библиотеками, нет четкого краткого «каркаса». Т.е. есть «окружение», а ядра нет. Язык Си является примером языка-оболочки, он не обладает удобочитаемостью (как Modula-2, например), но его способность к расширению – уникальна. Именно поэтому все новейшие концепции первым делом находят отражение именно в этом языке.
Среди характерных черт языка Modula-2 (и его основных отличий от Паскаля) можно выделить следующие:
- модули и раздельная компиляция (а так же абстрактные типы данных);
- статическая проверка типов;
- тип CARDINAL (целые, неотрицательные числа);
- процедурные типы;
- низкоуровневые средства (а так же переменные с абсолютными машинными
адресами);
- понятие процесса (работа в общем адресном пространстве, переключение
контекста).
При проектировании Язык Modula-2 Вирт не рассматривал следующие проблемы:
- сборка мусора;
- обработка исключений.
|
Категория: Языки программирования и методы трансляции | Добавил: Ni-Cd (08 Декабря 2011)
|
Просмотров: 1989
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
|
Онлайн |
Онлайн всего: 12 Гостей: 12 Пользователей: 0 |
|
|