Eiffel

维基百科,自由的百科全书
跳到导航 跳到搜索
Eiffel
Eiffel logo
编程范型 面向对象, 基于类, 泛型, 并发
設計者 Bertrand Meyer
實作者 Eiffel Software
发行时间 1986[1]
穩定版本
EiffelStudio 19.05[2]
(2019年5月21日,​12個月前​(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是一套物件導向程式語言,1985年由伯特蘭·邁耶所發明。文法類似Pascal ,並且將語言本身與軟體工程、和工具結合為一。Eiffel实现契约式设计(Design by Contract)的風格。

語法與語意[编辑]

整體架構[编辑]

一個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] (英语). 
  2. ^ Release notes for EiffelStudio 19.05. Eiffel.org. [2 August 2019]. 
  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. 

外部連結[编辑]