Вышла версия 6.6 IDE для языка Eiffel - EiffelStudio. Eiffel - это объектно-ориентированный язык, поддерживающий технологию проектирования по контракту.
Основные характеристики языка и среды программирования:
* Кроссплатформенная реализация - существуют версии EiffelStudio для FreeBSD, Linux, OpenBSD, Solaris (в том числе и Solaris SPARC), Windows
* Автоматическая сборка мусора
* Технология "Проектирование по контракту" - предусловия, постусловия, инварианты поддерживаются непосредственно самим компилятором языка (не требуются дополнительные инструменты и библиотеки)
* Поддержка множественного наследования; разрешение конфликта имен (компоненты, наследованные от разных классов имеют одно и тоже имя) путем переименования конфликтующих компонентов у класса наследника; возможность выбора версии компонента при дублируемом наследовании
* Обобщенное программирование
* Возможность вызова функций языка C и компонентов классов C++
* Melting Ice Technology - время компиляции при внесении изменений пропорционально объему измененного кода
* Статическая типизация
* Байткод, полученный в результате компиляции, транслируется в эквивалентные конструкции языка C, которые затем компилируются компилятором языка C (для Linux - GCC, для Windows - MinGW или компилятор Visual Stuido)
* Void-safety - технология, позволяющая избавиться от ошибки разименования пустого указателя, контроль осуществляется компилятором
В версии 6.6 произошли следующие изменения:
* Устранены ошибки, приводящие к полной длительной рекомпиляции проекта
* Переписана многопоточная среда выполнения для обеспечения одинакового поведения семафоров на всех платформах
* Новые инструкции для написания void-safety кода:
check attached expression as e then
e.do_something
end
(проверяет, что ссылка expression присоединена к объекту, ссылке дается псевдоним e, который можно безопасно использовать для дальнейших операций)
* Добавлен итератор across, позволяющий последовательно перебирать элементы контейнеров
* Однократные подпрограммы, выполняющиеся только один раз во время первого вызова подпрограммы (или первый раз в конкретном потоке для многопоточного окружения); соответствующая поддержка добавлена и в отладчик
Скачать:
http://tech.groups.yahoo.com/group/e.../message/17025
01.06.2010
http://www.opennet.ru/opennews/art.shtml?num=26795