Eiffel

  • 24.05 (2024年6月14日;穩定版本)[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 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. 

外部連結

  • 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
应用程序接口
文件系统(磁带)
  • 高级智能磁带英语Advanced Intelligent Tape
  • DDS英语Digital Data Storage
  • DLT英语Digital Linear Tape
  • Super DLT英语Digital Linear Tape
  • 全息通用光盘
  • Linear Tape-Open英语Linear Tape-Open(Ultrium-1)
  • VXA英语VXA
文件系统(磁盘)
图形
编程语言
无线链路接口
其他
Ecma標準列表(1961年 - 至今)

范型
过程式
面向对象
多范型
函数式
逻辑式
脚本语言
动态语言
Shell语言
ECMA-262
特定平台
.NET
JVM
特定领域
科学计算
GPU计算
  • Cg/HLSL
  • GLSL
  • Brook英语BrookGPU
  • OpenCL
  • CUDA/PTX英语Parallel Thread Execution
  • Futhark
  • SPIR-V英语Standard Portable Intermediate Representation
数据查询
可视化
传媒设计
 
其它
  • 分类 目录
  • 列表级条目 列表
  • 历史
  • 比较英语Comparison of programming languages
  • 时间线英语Timeline of programming languages