Eiffel
外观
编程范型 | 面向对象, 基于类, 泛型, 并发 |
---|---|
設計者 | Bertrand Meyer |
實作者 | Eiffel Software |
发行时间 | 1986年[1] |
当前版本 |
|
型態系統 | 静态 |
實作語言 | Eiffel |
系统平台 | 跨平台 |
操作系统 | FreeBSD, Linux, Mac OS X, OpenBSD, Solaris, Windows |
許可證 | 双许可和企业许可 |
文件扩展名 | .e |
網站 | www |
主要實作產品 | |
EiffelStudio, LibertyEiffel, SmartEiffel, Visual Eiffel, Gobo Eiffel, "The Eiffel Compiler" tecomp | |
啟發語言 | |
Ada, Simula, Z | |
影響語言 | |
Ada 2012, Albatross, C#, D, Java, Racket, Ruby,[3] Sather, Scala |
Eiffel是一套物件導向程式語言,1985年由伯特蘭·邁耶所發明。文法類似Pascal ,並且將語言本身與軟體工程、和工具結合為一。Eiffel实现契约式设计(Design by Contract)的風格。
語法與語義
[编辑]整體架構
[编辑]一個Eiffel“系统”或“程序”是指一個“类”的集合。Eiffel系统有一个Cluster的概念。通过一个叫做ACE的外部组件描述类之间的组合关系的,Cluster可以是几个类,或者几个子Cluster,或者是它们的混合。但是Cluster不是Eiffel的语言构造,Eiffel语言中,类是惟一的构造模块。
"Hello, world!"
[编辑]一支程式語言都會有"Hello, world!"的程式碼。以Eiffel的表示如下:
class
HELLO_WORLD
create
make
feature
make
do
print("Hello, world!%N")
end
end
這支程式有类HELLO_WORLD
。其建構例程的名稱是make
,它會呼叫print
系統函式库例程將"Hello,
world!"
的訊息給輸出。
Eiffel中不像C系列(C、C++、Java、C#)的语言,通过约定某个叫做main的函数来启动应用,而是通过ACE来指定一个类作为整个应用的启动。这个类的构造函数也就成为应用的起始点。
引用
[编辑]- ^ Eiffel in a Nutshell. archive.eiffel.com. [24 August 2017]. (原始内容存档于2019-01-13) (英语).
- ^ EiffelStudio 24.05 is available!. 2024年6月14日 [2024年7月7日].
- ^ Cooper, Peter. Beginning Ruby: From Novice to Professional. Beginning from Novice to Professional 2nd. Berkeley: APress. 2009: 101. ISBN 978-1-4302-2363-4.
To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby.
- ^ EiffelStudio 21.11 is available!. Eiffel.org. 11 February 2022.
外部連結
[编辑]- Basic Eiffel Language Mechanisms(页面存档备份,存于互联网档案馆), Bertrand Meyer(页面存档备份,存于互联网档案馆), August 2006.
- Eiffel Software's Open Source initiative(页面存档备份,存于互联网档案馆)
- Eiffel Software(页面存档备份,存于互联网档案馆) web site of the company that introduced Eiffel, was Interactive Software Engineering (ISE).
- Eiffel tutorial (100 pages) by Bertrand Meyer(HTML(页面存档备份,存于互联网档案馆), PDF(页面存档备份,存于互联网档案馆))
- Eiffel standard(页面存档备份,存于互联网档案馆), revision 2 (2006); this is the ECMA standard, with free access, its text identical to that of the ISO standard.
- SmartEiffel(页面存档备份,存于互联网档案馆) (formerly SmallEiffel) a complete Eiffel compiler released under GNU GPL license, translates Eiffel code either to C or Java bytecode, not standard compliant, with emphasis on performance.
- "The Eiffel Compiler" (tecomp)(页面存档备份,存于互联网档案馆) an open source Eiffel compiler with documentation(页面存档备份,存于互联网档案馆).
- Visual Eiffel an open source implementation of Eiffel creating native code for X86 systems(Windows, Linux)
- NICE(页面存档备份,存于互联网档案馆) Nonprofit International Consortium for Eiffel.
- eiffelroom.com(页面存档备份,存于互联网档案馆) Community around standard Eiffel.
- eiffelzone.com Includes a comprehensive Eiffel Software Directory
- Cetus Eiffel Page
- Eiffel for .NET
- Eiffel: the Language(页面存档备份,存于互联网档案馆) subset