Modula-2

✍ dations ◷ 2025-09-18 19:34:11 #Modula编程语言家族,ISO标准化编程语言,静态类型编程语言,系统编程语言

Modula-2是由图灵奖获得者尼克劳斯·维尔特(Niklaus Wirth)所提出的一个编程语言。Modula-2之名是根据其3个编译单元的模块而来,这些模块分别为程序模块(Program Module),定义模块(Definition Module)及运行模块(Implementation Module)。

Wirth根据其早期对Pascal、模块编程语言(Modula)或称为Modula-1编程语言及Alto电脑的经验来定义Modula-2。在1976至1977年间,Wirth在Xerox Palo Alto研究中心与一群设计Alto电脑的工作伙伴一同工作,次年,他开始一个在瑞士联邦理工学院信息研究所的Lilith个人电脑项目。该项目主要的原则乃是以Modula-2为Lilith的系统编程语言,而以Lilith为Modula-2的组织架构。由于不需汇编器(Assembler),该语言不仅适用于编写高端的应用程序,也应适用于编写低端,与机器相关的编码程序(Machine-Dependent Coding),用设备的操控与存储体的配置。

该语言本身与Lilith结构之设计,都以优雅及简单为原则,在整个Lilith项目的生命期中(1978-1988),操作系统、绘图套装软件、数据库系统、网络协议、文件服务器及许多其他系统和应用模块都是借着Modula-2发展出来的。

Modula-2设计是让其程序模块得以重复使用(Reuse)。它借着提供一些标准程序库,如异常处置(Exception Handling)、字符串处理(String Processing)、输入/输出(I/O)及并发程序设计(Concurrent Programming)等来降低语言本身的复杂度。

一个Modula-2的定义模块(Definition Module)定义抽象化数据(Data Abstraction)的接口规格。一个定义模块是与其相对应的实现模块(Implementation Module)个别分开来编译。一旦编译好就不必再改变。一个定义模块(Definition Module)包含对常量、类型(Type)、变量及程序标头的宣告。只有那些可能会被其他程序员引用到的程序标头才会被宣告在定义模块内。那些相对应的运行模块包括区域性的常量、类型、变量宣告;以及外部程序和内部实现所需用到的程序定义。

程序是由上而下(Top-Down)的方式发展,其步骤乃是先创建若干定义模块,之后再随着需要创建实现模块的部分。每一个实现模块可在其被调用前对其区域性的数据结构设置初始值。Modula-2也需侦测在实现模块内的数据是否已过时而导致数据的不一致。

Modula-2编程语言有几项特色使其在计算机科学的发展过程中有着功不可没的功劳。首先,它所提出的计算机体系结构、语言和作业环境的集成概念是一项创举;其次,它强调程序员在用户界面的设计上,至少需花费用同实现程序设计时所耗费的成本和努力。最后,它提出对抽象化数据的简化。

本条目部分或全部内容出自以GFDL授权发布的《自由在线电脑词典》(FOLDOC)。

相关

  • Netscape ISP网景通信(英语:Netscape Communications ),以前称为网景通信公司(Netscape Communications Corporation),大部分通常被简称为网景(Netscape)。网景曾经是一家美国的电脑服务公司,以其
  • ʊ次闭后圆唇元音是个介于闭后圆唇元音/u/及半闭后圆唇元音/o/之间的圆唇元音。其国际音标写法为⟨ʊ⟩,为小型大写字母U的变种,别称“马蹄铁U”(horseshoe u)。1989年以前此音还
  • 富图纳板块富图纳板块(Futuna Plate)是太平洋南部的小型板块,位于富图纳岛附近。富图纳板块的北面是太平洋板块,南接澳洲板块,东临纽阿福欧板块。
  • 无聊在日常的语境中,厌烦是指一种情绪和偶尔的心理状态,当一个人没有任何特别的事情要做,对他周围的环境不感兴趣,或觉得一天或一段时间比较无聊或乏味的时候会有厌烦这种情绪。现代
  • 西双版纳西双版纳傣族自治州(傣仂语:ᦈᦹᧈ ᦈᦹᧈ ᦵᦋᦲᧁᧈ ᦘᦱ ᦉᦱ ᦺᦑ ᧑᧒ ᦗᧃ ᦓᦱ,国际音标:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libert
  • 联合尼德兰主权公国联合尼德兰主权公国(荷兰语:),是一个在1813至1815年间存在的主权公国。该政权是打败拿破仑的领袖们重划欧洲势力范围时产生的过渡政权。1815年,随着列强举行维也纳会议确立欧洲政
  • 分电器分电器是内燃机点火系统中负责将点火线圈产生的高压按照点火顺序传给各气缸火花塞的装置。断电器由固定在分电器转轴上的断电器凸轮、活动触点臂及固定触点组成。分电器转轴
  • 泛素连接酶泛素连接酶,又称为E3泛素连接酶,是一个能够将泛素分子连接到目的蛋白质的某个赖氨酸上的酶。通常情况下,泛素连接酶可以将目的蛋白质多泛素化,即加上多个泛素分子,形成多泛素链;
  • 安伯·拉德安伯·奥古丝塔·拉德(英语:Amber Augusta Rudd,1963年8月1日-),英国政治人物、前保守党党员、现任东萨塞克斯郡黑斯廷斯和拉伊选区下议院议员、曾于2015至2016年间任能源和气候变
  • .hack系列角色列表以下名称大部分以台湾角川所翻译的版本,其他以网络上常用的板本