Eiffel是一套物件導向程式語言,1985年由伯特蘭·邁耶所發明。文法類似Pascal ,並且將語言本身與軟體工程、和工具結合為一。Eiffel实现契约式设计(Design by Contract)的風格。

Eiffel
Eiffel logo
编程范型面向对象, 基于类, 泛型, 并发
設計者Bertrand Meyer
實作者Eiffel Software
发行时间1986年,​36年前​(1986[1]
穩定版本
EiffelStudio 21.11[2]
(2021年12月9日,​6個月前​(2021-12-09
型態系統静态
實作語言Eiffel
系统平台跨平台
作業系統FreeBSD, Linux, Mac OS X, OpenBSD, Solaris, Windows
許可證双许可和企业许可
文件扩展名.e
網站www.eiffel.org
主要實作產品
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的语言构造英语Language construct,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来指定一个类作为整个应用的启动。这个类的构造函数也就成为应用的起始点。

引用编辑

  1. ^ Eiffel in a Nutshell. archive.eiffel.com. [24 August 2017]. (原始内容存档于2019-01-13) (英语). 
  2. ^ EiffelStudio 21.11 is available!. Eiffel.org. 11 February 2022. 
  3. ^ 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. 

外部連結编辑