Релиз EiffelStudio 7.1, IDE для языка Eiffel

Вышла новая версия интегрированной среды разработки для языка Eiffel - EiffelStudio 7.1. Eiffel - это оъектно-ориентированный язык, поддерживающий технологию проектирования по контракту, основанную на принципе подстановки Барбары Лисков. Технология проектирования по контракту и юнит-тесты являются взаимодополняющими, позволяя повысить корректность ПО.

Основные характеристики языка Eiffel и среды EiffelStudio:

  • Полностью объектно-ориентированный подход, основанный на классах, межклассовые отношения только двух видов: быть клиентом класса и быть наследником класса;
  • Статическая типизация, автоматическая сборка мусора, обобщенное программирование;
  • В языке Eiffel отсутствуют: глобальные переменные, объединения (union) и структуры, перегрузка методов классов, инструкция goto, неявные преобразования типов, указатели;
  • Технология "Проектирование по контракту" - предусловия, постусловия, инварианты поддерживаются непосредственно самим компилятором языка (не требуются дополнительные инструменты и библиотеки);
  • Поддержка множественного наследования; разрешение конфликта имен (компоненты, наследованные от разных классов имеют одно и тоже имя) путем переименования конфликтующих компонентов у класса наследника; возможность выбора версии компонента при дублируемом наследовании;
  • Void-safety - технология, позволяющая избавиться от ошибки разыменования пустого указателя с помощью прикрепленных и открепляемых типов, контроль осуществляется компилятором;
  • SCOOP - специальная модель многопоточного программирования, добавляющая всего одно ключевое слово в язык;
  • Кроссплатформенная реализация - существуют версии EiffelStudio для FreeBSD, Linux, OpenBSD, Solaris (в том числе и Solaris SPARC), Windows;
  • Возможность вызова функций языка C;
  • Байткод, полученный в результате компиляции, транслируется в эквивалентные конструкции языка C, которые затем компилируются компилятором языка C, что позволяет добиться высокой скорости выполнения программ;
  • Melting Ice Technology - время компиляции при внесении изменений пропорционально объему измененного кода

Из изменений в новой версии можно отметить:

  • Реализована сборка мусора для процессоров SCOOP;
  • Добавлен Eiffel Web Framework для построения веб-приложений и сервисов на Eiffel;
  • Улучшена передача параметров компилятору и компоновщику для языка C;
  • Добавлена поддержка GTK3 c бэкендом HTML5 (предварительная версия);
  • Улучшена производительность SCOOP для некоторых типов параллельных вызовов;
  • Адаптирована библиотека EiffelVision 2 для создания SCOOP приложений с графическим интерфейсом;
  • Добавлена поддержка данных XML в ODBC, улучшена поддержка MySQL.

Существуют две версии EiffelStudio - коммерческая и открытая под лицензией GPL, отличие между ними заключается только в возможности создания приложений с закрытым кодом в коммерческой версии. Свободная версия для различных платформ доступна для скачивания.

Дополнение: Опубликован русскоязычный перевод документации Eiffel по технологии SCOOP.

© OpenNet