Eiffel

維基百科,自由的百科全書
Eiffel
Eiffel logo
編程範型面向對象, 基於類, 泛型, 並發
設計者Bertrand Meyer
實作者Eiffel Software
面市時間1986年,​38年前​(1986[1]
當前版本
  • 22.05 (2022年5月31日;穩定版本)[2]
編輯維基數據鏈接
型態系統靜態
實作語言Eiffel
系統平台跨平台
操作系統FreeBSD, Linux, Mac OS X, OpenBSD, Solaris, Windows
許可證雙許可和企業許可
文件擴展名.e
網站www.eiffel.org
主要實作產品
EiffelStudio英語EiffelStudio, LibertyEiffel英語LibertyEiffel, SmartEiffel英語SmartEiffel, Visual Eiffel英語Visual Eiffel, Gobo Eiffel, "The Eiffel Compiler" tecomp
啟發語言
Ada, Simula, Z英語Z notation
影響語言
Ada 2012, Albatross, C#, D, Java, Racket, Ruby,[3] Sather英語Sather, Scala

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

語法與語義[編輯]

整體架構[編輯]

一個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 22.05 is available!. [2022年12月19日]. 
  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. 
  4. ^ EiffelStudio 21.11 is available!. Eiffel.org. 11 February 2022. 

外部連結[編輯]