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

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

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

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

Некоторые изменения в новой версии:

  • Поддержка кодировки Unicode в именах файлов, переменных среды, аргументах командной строки, сообщениях об исключениях с сохранением совместимости с текущим кодом.
  • Улучшения в подсистеме Eiffel Information System.
  • Возможность переименования в утилите рефакторинга компонента или класса путем повторного использования существующего имени.
  • Добавлены запросы is_first и is_last к итераторам.
  • Устранены задержки в технологии SCOOP, касающиеся клиента SCOOP и процессора.
  • Поддержка SQL запросов в кодировке Unicode.
  • Поддержка неизменяемых строк.
  • Выполнение выборки/обновления/удаления из БД как единой транзакции.

В следующей версии 7.3 планируется внести следующие изменения:

  • Улучшение окна автодополнения кода, отображение комментария и контрактов выбранного компонента.
  • Улучшение мастеров, включающих технологии void-safety и SCOOP.
  • Улучшения технологии void-safety.
  • Улучшение настроек void-safety путем добавления дополнительного уровня проверки, контролирующего только согласованность типов (без проверки инициализации), чтобы упростить миграцию существующих проектов.
  • Интервалы типа для избежания вызовов с неверными аргументами.
  • Всплывающая подсказка, вычисляющая выражение, при наведении курсора на выражение.
  • Улучшение производительности технологии SCOOP.

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

Источник:
http://www.opennet.ru/opennews/art.shtml?num=36363

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>