Eiffel
Eiffel是一套物件导向程式语言,1985年由伯特兰·迈耶所发明。文法类似Pascal ,并且将语言本身与软体工程、和工具结合为一。Eiffel实现契约式设计(Design by Contract)的风格。
编程范型 | 面向对象, 基于类, 泛型, 并发 |
---|---|
设计者 | 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“系统”或“程序”是指一个“类”的集合。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