Eiffel

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

Eiffel
Eiffel logo
面向对象, 基于类, 泛型, 并发
設計者Bertrand Meyer
實作者Eiffel Software
1986年1986[1]
当前版本
  • 22.05 (2022年5月31日;穩定版本)[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“系统”或“程序”是指一個“类”的集合。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. . archive.eiffel.com. [24 August 2017]. (原始内容存档于2019-01-13) (英语).
  2. . [2022年12月19日].
  3. Cooper, Peter. . 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.

外部連結

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.