Eiffel是一套物件導向程式語言,1985年由伯特蘭·邁耶所發明。文法類似Pascal ,並且將語言本身與軟體工程、和工具結合為一。Eiffel實現契約式設計(Design by Contract)的風格。
Quick Facts 編程範型, 設計者 ...
Eiffel![Thumb](//upload.wikimedia.org/wikipedia/commons/thumb/6/6a/Eiffel_logo.svg/220px-Eiffel_logo.svg.png) |
編程範型 | 物件導向, 基於類, 泛型, 並發 |
---|
設計者 | Bertrand Meyer |
---|
實作者 | Eiffel Software |
---|
面市時間 | 1986年,38年前(1986)[1] |
---|
當前版本 | - 24.05 (2024年6月14日;穩定版本)[2]
![編輯維基數據鏈接](//upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png) |
---|
型態系統 | 靜態 |
---|
實作語言 | 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 |
Close
一個Eiffel「系統」或「程序」是指一個「類」的集合。Eiffel系統有一個Cluster的概念。通過一個叫做ACE的外部組件描述類之間的組合關係的,Cluster可以是幾個類,或者幾個子Cluster,或者是它們的混合。但是Cluster不是Eiffel的語言構造,Eiffel語言中,類是惟一的構造模塊。
一支程式語言都會有"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來指定一個類作為整個應用的啟動。這個類的構造函數也就成為應用的起始點。
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.
- 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