Страница: 12/13
Ада может использоваться для разработки программ, основанных на объектах. Для проектов в военной и аэрокосмической областях другого выбора и нет. Пользователи, не ограниченные этими областями, могут с удовлетворением отметить, что их требования могут быть выполнены другим объектно-ориентированным языком типа Eiffel.
Таблица С2.4 Сравнение языков программирования
Язык
Скрытие
информации
Классы
Наследо-вание
Связы-вание
Сборка мусора
Инстру- ментарий
Simula |
да |
да |
един. |
стат. |
нет |
есть |
Smalltalk-80 |
да |
да |
един. |
динам. |
автом. |
полный |
С++ |
да |
да |
един.* |
оба |
нет |
нет |
Objective-C |
да |
да |
един.* |
оба |
нет |
есть |
Eiffel |
да |
да |
оба |
оба |
нет |
есть |
Ada |
да |
да |
нет |
стат. |
нет |
нет |
Modula-2 |
да |
нет |
нет |
стат. |
нет |
нет |
* множественное наследование в стадии разработки
2.7.2. MODULA-2
Modula-2, разработанная Н. Виртом, является прямым потомком языков Algol 60 и Pascal, и привлекает многих, обученных на традиции этих языков. Ее ключевое средство - принцип скрытия информации, заключающийся в отделении спецификации модуля от его реализации. Абстрактные типы данных могут быть определены как закрытые типы. Спецификация типа содержится в модуле с определением, который описывает тип данных и процедуры для доступа к нему. Программы, выполняющие эти процедуры, содержатся в модуле реализации. Как и в Аде, такое разделение служит в качестве механизма инкапсуляции. Однако Modula-2 более ограничивает, чем Ада, не разрешая ни переопределение, ни обобщение операций.
Появилось несколько статей, показывающих, как Modula-2 может быть использована для разработки объектно-ориентированных систем. Это требует существенной нагрузки на программиста, поскольку язык не поддерживает объектно-ориентированные средства, описанные в главе B1. Необходимость пользователей языков Algol-Pascal-Modula в средствах ООП могут быть удовлетворены, например, реализацией языка Modula-3, объектно-ориентированного потомка Modula-2, разработанного группой исследовательского центра фирм DEC и Olivetti в Калифорнии [Cardelli et al 1988].
Реферат опубликован: 8/06/2008