Заметки из лаборатории
Пакет Professional Eiffel фирмы Interactive Software Engineering (Санта-Барбара, шт. Калифорния) сочетает в себе уникальную среду разработки и объектно-ориентированный язык, который использовался для создания такой крупной и высоконадежной системы, как операционное ПО для туннеля под Ла-Маншем.
В феврале состоялся первый выпуск версии Professional Eiffel ($395) для Windows NT и Windows 95. Впечатление от него у нас было такое же, как и от визуальной среды программирования, однако он обладает ясностью и простотой в использовании, что свойственно хорошо структурированным инструментам с текстовым интерфейсом.
При знакомстве со средой разработки продукта под названием EiffelBench у нас возникло ощущение (и с нами согласятся другие программисты), что мы попали в совсем другой мир. Среда EiffelBench в ходе открытия сессий попросила нас выбрать проект, вместо того чтобы в соответствии с условиями Common User Access открывать пустую рабочую среду и использовать команды меню для выбора рабочих файлов. После того как EiffelBench была открыта, меню в ней вообще больше не появлялись.
Вместо этого EiffelBench предложила нам несколько различных текстовых видов проекта (System, Class, Feature или Object) с пиктограммами в нижней части области просмотра, которые позволяли нам легко переключаться с одного вида на другой. Вместо того чтобы работать опосредованно, через меню, мы просто дважды щелкали на имени объекта, который хотели просмотреть, а затем проводили мышью от него к окну проекта, чтобы открыть новое окно, в котором был представлен нужный нам вид (см. рис.).
При перетаскивании ключевых слов от инструмента к инструменту в среде
EiffelBench приложение отображается в различных видах
Как и другие среды С++, EiffelBench не давала нам никакой возможности представить объектную архитектуру проекта до завершения этапа прекомпиляции. В EiffelBench этот процесс сравнительно безболезнен благодаря использованию технологии под забавным названием "Melting Ice" (тающий лед). "Таяние" предполагает постепенные изменения в минимальное время, "замораживание" возвращает все "растаявшие" компоненты в полностью компилированное состояние, а в результате "завершения" (finalizing) создается независимый модуль для компиляции внешним С-компилятором.
Последний момент можно считать хорошим или плохим в зависимости от предпочтений. Eiffel компилирует не в оригинальный код, а в Си, как промежуточный язык, благодаря чему увеличивается переносимость, но одновременно увеличиваются и расходы на инструментарий разработчика и усложняется цикл разработки. При работе с EiffelBench мы использовали С++ фирмы Borland International, и нам пришлось манипулировать установками, чтобы предотвратить ошибки компоновки из-за недостатка ресурсов.
При работе с пакетом Active Ada фирмы Thomson Software Products проблем с координацией с внешним компилятором-компоновщиком не возникает - используемый в пакете язык Ada обладает многими положительными качествами Eiffel, помогающими в создании систем высокой надежности. После появления Ada 95 язык Ada стал сравнительно объектно-ориентированным, и скоро новая версия будет встроена в модернизированный продукт фирмы Thomson.
Однако в Active Ada используется более привычная среда с управлением через меню, которая даже после краткого знакомства с EiffelBench кажется достаточно неудобной. Производителям инструментария для Ada, C++ и других объектно-ориентированных языков следует поскорее перенять новаторский опыт ISE.
Связаться с фирмой ISE можно по телефону: (805) 685-1006 или по http://www.eiffel.com.
Питер Коффи