Eiffel

Eiffel
Eiffel logo
编程范型面向对象, 基于类, 泛型, 并发
設計者Bertrand Meyer
實作者Eiffel Software
发行时间1986年​(1986[1]
当前版本
  • 24.05(2024年6月14日;穩定版本)[2]
型態系統静态
實作語言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是一套物件導向程式語言,1985年由伯特蘭·邁耶所發明。文法類似Pascal ,並且將語言本身與軟體工程、和工具結合為一。Eiffel实现契约式设计(Design by Contract)的風格。

語法與語義

整體架構

一個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来指定一个类作为整个应用的启动。这个类的构造函数也就成为应用的起始点。

引用

  1. ^ Eiffel in a Nutshell. archive.eiffel.com. [24 August 2017]. (原始内容存档于2019-01-13) (英语). 
  2. ^ EiffelStudio 24.05 is available!. 2024年6月14日 [2024年7月7日]. 
  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. 

外部連結