[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
исправил ошибки
→‎Преамбула: Изменена версия
 
(не показана 41 промежуточная версия 23 участников)
Строка 1:
{{Карточка языкаЯзык программирования
| name название = Eiffel
| логотип =
| logo =
| paradigm семантика = [[Объектно-ориентированное программирование|объектно-ориентированный]]
| класс = [[Объектно-ориентированное программирование|объектно-ориентированный]], [[:en:Class-based programming|класс-ориентированный]], [[Обобщённое программирование|обобщённый]], [[:en:Concurrent object-oriented programming|параллельный]]
| year = [[1986]]
| тип = компилируемый
| designer = Bertrand Meyer
| дата выпуска = [[1986]]
| developer = Bertrand Meyer & [[Eiffel Software]]
| автор = [[Мейер, Бертран|Бертран Мейер]]
| typing = [[Строгая типизация|строгая]], [[Статическая типизация|статическая]]
| developer = Bertrand Meyer & [[Eiffel Software]]
| implementations = EiffelStudio<ref>[http://www.eiffel.com/products/studio EiffelStudio A Complete Integrated Development Environment]</ref>, SmartEiffel<ref name="smart-eiffel-site">[http://smarteiffel.loria.fr/ SmartEiffel, the GNU Eiffel Compiler, Tools and Libraries]</ref>, Visual Eiffel<ref name="visual-eiffel-site">[http://www.visual-eiffel.com Visual Eiffel home site]</ref>, Gobo Eiffel<ref>[http://www.gobosoft.com/eiffel/gobo/gec/index.html Gobo Eiffel Compiler]</ref>, The Eiffel Compiler tecomp<ref>[http://www.sourceforge.net/projects/tecomp tecomp: The Eiffel Compiler]</ref>
| последняя версия = EiffelStudio 24.05<ref>{{Cite news|title=EiffelStudio 24.05 is available!|url=https://www.eiffel.org/blog/eiffelstudio_24_05|accessdate=2024-07-07|archivedate=2024-07-05|archiveurl=https://web.archive.org/web/20240705122416/https://www.eiffel.org/blog/eiffelstudio_24_05}}</ref>
| influenced_by = [[Ада (язык программирования)|Ada]], [[Algol-60]], [[Simula]], [[Z-нотация|Z]]
| дата выпуска последней версии = {{start date and age|2024|06|14}}
| influenced = [[C Sharp|C#]], [[D (язык программирования)|D]], [[Delphi (язык программирования)|Delphi]], [[Java]], [[Lisaac]], [[Ruby]], [[Sather]], [[Ада (язык программирования)|Ada]]
| typing система типов = [[Строгая типизация|строгая]], [[Статическая типизация|статическая]]
| реализации = EiffelStudio<ref>{{Cite web |url=http://www.eiffel.com/products/studio |title=EiffelStudio A Complete Integrated Development Environment |access-date=2010-11-22 |archive-date=2010-11-23 |archive-url=https://web.archive.org/web/20101123125126/http://eiffel.com/products/studio/ |deadlink=no }}</ref>, SmartEiffel<ref name="smart-eiffel-site">{{Cite web |url=http://smarteiffel.loria.fr/ |title=SmartEiffel, the GNU Eiffel Compiler, Tools and Libraries |access-date=2010-11-22 |archive-date=2011-04-13 |archive-url=https://web.archive.org/web/20110413014415/http://smarteiffel.loria.fr/ |deadlink=no }}</ref>, Visual Eiffel<ref name="visual-eiffel-site">{{Cite web |url=http://www.visual-eiffel.org/ |title=Visual Eiffel home site |access-date=2022-05-07 |archive-date=2021-06-15 |archive-url=https://web.archive.org/web/20210615094553/https://visual-eiffel.org/ |deadlink=yes }}</ref>, Gobo Eiffel<ref>{{Cite web |url=http://www.gobosoft.com/eiffel/gobo/gec/index.html |title=Gobo Eiffel Compiler |access-date=2009-01-08 |archive-date=2009-01-16 |archive-url=https://web.archive.org/web/20090116013122/http://www.gobosoft.com/eiffel/gobo/gec/index.html |deadlink=no }}</ref>, The Eiffel Compiler tecomp<ref>{{Cite web |url=http://www.sourceforge.net/projects/tecomp |title=tecomp: The Eiffel Compiler |access-date=2009-01-08 |archive-date=2010-01-17 |archive-url=https://web.archive.org/web/20100117204043/http://www.sourceforge.net/projects/tecomp |deadlink=no }}</ref>
| influenced_by испытал влияние = [[Ада (язык программирования)|Ada]], [[Algol-60]], [[Simula]], [[Z-нотация|Z]]
| influenced повлиял на = [[C Sharp|C#]], [[D (язык программирования)|D]], [[Delphi (язык программирования)|Delphi]], [[Java]], [[Lisaac]], [[Ruby]], [[:en:Sather|Sather]], [[Ада (язык программирования)|Ada]]
| платформа = кроссплатформенный
| операционная система = [[FreeBSD]], [[Linux]], [[macOS]], [[OpenBSD]], [[Solaris]], [[Windows]]
| расширение = e
| лицензия = двойная: [https://www.eiffel.org/license/eiffelstudio/gpl GPL] и [https://www.eiffel.com/eiffelstudio/licensing/enterprise/ корпоративная]
| сайт = {{URL|https://www.eiffel.org/}}
}}
'''Eiffel''' ('''Эйфель''') — объектно-ориентированный язык программирования с алголоподобным синтаксисом, разработанный [[Мейер, Бертран|Бертраном Мейером]]. В этом языке впервые был реализован метод [[Контрактное программирование|контрактного программирования]].
 
Существуют компиляторы Эйфеля для [[Windows]], [[DOS]], [[OS/2]] и [[UNIX]]. Большинство реализаций Eiffel генерирует код [[Си (язык программирования)|Си]], то есть являютсявыполнены, своеобразнымкак [[препроцессортранслятор]]ом. Далее этот код компилируется с помощью компилятора [[Си (язык программирования)|Си]]. Однако есть системы, которые порождают и непосредственно машинный код. Например, [[Visual Eiffel]].<ref name="visual-eiffel-site"/>
 
=== Происхождение названия ===
Язык «Eiffel» был назван в честь инженера [[Эйфель, Гюстав|Густава Эйфеля]], который построил [[Эйфелева башня|знаменитую башню]], названную в его честь. Выбирая такое название языка, его создатели концентрировали внимание на следующих особенностях Эйфелевой башни:
 
* её построили очень быстро — всего за два с небольшим года;
* она была возведена без превышения бюджета;
* она собрана из небольшого числа стандартных деталей;
* будучи задумана как временная постройка, она тем не менее осталась стоять по истечении намеченного срока и продолжает стоять до сих пор.
 
Тем самым создатели намекали на то, что система программирования «Eiffel» позволяет быстро и бюджетно построить крупные программные системы, используя относительно небольшое количество программных модулей из библиотек Eiffel Software, а также выражали надежду, что программным комплексам, созданным с помощью системы «Eiffel», будет суждена долгая жизнь<ref>{{cite web
| logo author =
|url = https://www.eiffel.com/resources/faqs/eiffel-language/#classic-where
|title = Where does the name come from?
|lang =
|website = https://www.eiffel.com
|publisher =
|date =
|accessdate = 2019-07-17
|archive-date = 2019-06-07
|archive-url = https://web.archive.org/web/20190607204247/https://www.eiffel.com/resources/faqs/eiffel-language/#classic-where
|deadlink = no
}}</ref>.
 
== Ключевые особенности ==
Строка 47 ⟶ 78 :
note
description: "Программа Здравствуй,мир!"
author: "Elizabeth W. Brown"
class
HELLO
Строка 145 ⟶ 176 :
end
</source>
Данный синтаксис является развитием способа переопределения операций в языке [[Клу]]. В отличие от [[СC++]] и Клу, Eiffel позволяет также определение свободных операций, знаки которых могут состоять из одного или более символов из следующего набора
<nowiki>: \ ? = ~ / ! # $ % & * + - / < > @ ^ ` |</nowiki>
 
Строка 199 ⟶ 230 :
</source>
* особенностью Eiffel является необязательность точки c запятой «;» в конце синтаксических конструкций.
 
== Интересные факты ==
Преподаётся в [[Университет Иннополис|Университете]] [[Иннополис|Иннополиса]], как основной предмет курса [[объектно-ориентированное программирование|объектно-ориентированного программирования]].
 
== Примечания ==
Строка 207 ⟶ 235 :
 
== Литература ==
* Бертран Мейер. Почувствуй класс.
* Bertrand Meyer. Object-Oriented Software Construction. 2nd edition, Prentice Hall, 1997.
* Bertrand Meyer. Eiffel: The Language
Строка 215 ⟶ 244 :
== Ссылки ==
* http://www.elj.com/
* httphttps://wwwweb.archive.org/web/20040604193933/http://cetus-links.org/oo_eiffel.html
* http://www.eiffel.com/
* news://comp.lang.eiffel/