Eiffel - объектно-ориентированный язык программирования. Имеет международный стандарт ISO . Начиная с 1985 года, многими предприятиями был разработаны среды для программирования в Eiffel.
Основные характеристики языка программирования Eiffel:
- объектно-ориентированная структура программ, классы используются в качестве базовых единиц декомпозиции.
- Дизайн по контракту, плотно интегрирован с другими конструкциями языка.
- Автоматическое управление памятью, как правило, реализуется в виде автоматического удаления мусора.
- Наследования, включая множественное наследование и механизмы чтобы сделать наследования безопасным.
- Общее программирование, с ограничениями и без.
- Однообразная система типизации, с поддержкой семантики значений и ссылок, все типы, включая базовые, основанные на классах.
- Безопасная типизация (статическая типизация).
- Защита от вызовов неопределенных ссылок.
- «Агенты» (объекты, содержащие вычисления, похоже на замыкание и Лямбда исчисление).
- Одноразовые подпрограммы (могут выполняться только один раз).
- Ключевые слова в стиле Алгол - подобных языков программирования и Pascal, но точка с запятой не обязательна.
- Нечувствительность к регистру.