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

Eiffel
Eiffel logo
编程范型面向对象, 基于类, 泛型, 并发
設計者Bertrand Meyer
實作者Eiffel Software
发行时间1986[1]
穩定版本
EiffelStudio 19.05[2]
(2019年5月21日,​16個月前​(2019-05-21
型態系統静态
實作語言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 "system"或"program"是指一個classes的集合。Eiffel系统有一个Cluster的概念。通过一个叫做ACE的外部组件描述类之间的组合关系的,Cluster可以是几个类,或者几个子Cluster,或者是它们的混合。但是Cluster不是Eiffel语言的一个概念,Eiffel语言中,CLASS是惟一的模块。

"Hello, world!"编辑

一支程式語言都會有"Hello, world!"的程式碼.以Eiffel的表示如下:

class
    HELLO_WORLD
create
    make
feature
    make
        do
            print("Hello, world!%N")
        end
end

這支程式有類別(class)HELLO_WORLD.其建構元(create routine)名稱是make,會呼叫print的系統函式程序(system library routine)將"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. ^ Release notes for EiffelStudio 19.05. Eiffel.org. [2 August 2019]. (原始内容存档于2019-08-02). 
  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. 

外部連結编辑