Modula-2

✍ dations ◷ 2025-12-07 23:52:52 #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)。

相关

  • 金属金属是一种具有光泽(对可见光强烈反射)、富有延展性、容易导电、传热等性质的物质。金属的上述特质都跟金属晶体内含有自由电子有关。由于金属的电子倾向脱离,因此具有良好的导
  • 贴扎贴扎是一种将胶布贴于皮肤以达到增进或保护肌肉骨骼系统的非侵入性治疗。贴扎技术常用于骨骼肌肉系统伤害的处理,目的为固定关节位置及限制软组织的活动以让软组织在稳定的状
  • 绿墙绿色植生墙或称垂直花园(英语:Green wall or Vertical Garden)可以是独立的墙面,或一栋建筑的墙面,墙上大部分或一部分种满花草或蔬菜,植物则种于土壤或非有机的生长介质上。绿色
  • 黄河流域的中原地区黄河文明,起源于黄河流域并最初分布于西至河湟、东至大海、北至燕山–大漠、南至秦岭–江淮分水岭的文明,后来扩散至中国全境、乃至东亚并影响世界。黄河文明是世界著名的古文
  • 康斯坦丁三世科林之子康斯坦丁(中世纪盖尔语:Causantín mac Cuiléin;现代盖尔语:Còiseam mac Chailein;971年前–997年),有时被现代王表称为康斯坦丁四世或康斯坦丁三世,是995年-997年在位的
  • 伟创力伟创力(英语:Flex Ltd., 原名Flextronics International Ltd.,NASDAQ:FLEX),是全球著名的电子专业制造服务公司,于1969年在美国硅谷创立。1981年在新加坡设立工厂,为美国第一家在海外
  • 区间在数学上,区间是某个范围的数的搜集,一般以集合形式表示。在初等代数,传统上区间指一个集,包含在某两个特定实数之间的所有实数,亦可能包含该两个实数(或其中之一)。区间表示法是表
  • 奥特罗县奥特罗县(英语:Otero County)是美国新墨西哥州南部的一个县,南邻德克萨斯州,面积17,165平方公里。根据2010年人口普查,奥特罗县共有人口63,797人。奥特罗县的县治为阿拉莫戈多。美
  • 战略军朝鲜人民军战略军(韩语:조선인민군 전략군)是朝鲜掌握所有战略导弹的部队。2013年扩编前称为朝鲜人民军战略火箭军。朝鲜人民军战略军是指朝鲜人民军所管辖的战略导弹部队,配备
  • 欧内斯特·米勒·海明威欧内斯特·米勒·海明威(英语:Ernest Miller Hemingway,1899年7月21日-1961年7月2日),美国记者和作家,他是20世纪最著名的小说家之一。海明威出生于美国伊利诺伊州芝加哥市郊区的奥