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.