Modula-2

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

相关

  • 胃肠炎肠胃炎是以胃和小肠炎症为特征的胃肠道病症,可导致腹泻、呕吐、腹部的疼痛和绞痛合并而成疾病表现。虽然与流感并无关系,但该病也被称为肠胃型感冒和消化道流感。肠胃炎通常是
  • 雌性雌性,有时又称母,在双性繁殖的生物中,是指负责制造卵子的个体(或个体的其中一部分)的性别,而负责制造精子的则称为雄性,在缺乏雄性的情况下,大部分雌性的个体并不能自我繁殖,但有少数
  • 纽约大都会纽约大都会(New York Mets)是一支在纽约州纽约的美国职棒大联盟球队,隶属国家联盟东区。 他们赢过两次世界大赛冠军,第一次是在1969年,第二次则是1986年。1959年7月27日,纽约律师
  • 牛津郡牛津郡(英语:Oxfordshire),英国英格兰东南部的郡,高261米的白马丘陵(怀特霍斯丘陵)是最高点。以人口计算,牛津是第1大(亦是唯一一个)城市、自治市镇(Borough),班伯里是第1大镇。牛津郡实
  • 亚硫酸根亚硫酸盐是亚硫酸所成的盐,含有亚硫酸根离子SO32−。亚硫酸根离子是强还原剂,因此可以利用强还原剂(如溴、酸化过锰酸盐、酸化重铬酸盐)来检验。会使溴水褪色。绝大多数葡萄酒中
  • 世界之窗世界之窗可以指:
  • 柳随年柳随年(1929年-2002年),陕西省绥德县人,中华人民共和国物资部部长,中华人民共和国政治人物。1942年,求学于陕西省绥德师范学校,随后供职于陕甘宁边区银行陇东分行。1947年出任西北财
  • 渔业发展及援助基金渔业发展及援助基金(葡萄牙语:Fundo de Desenvolvimento e Apoio à Pesca,葡文缩写:FDAP),是负责对有助澳门特别行政区渔业发展的项目及活动给予援助的基金。基金由行政管理委员
  • 马里布马里布市(英语:Malibu)是美国加利福尼亚州洛杉矶县的一座富裕城市。在2000年的人口调查中,该市人口为12,575人。最早原是美国原住民“丘马希族”的居住地,原名为Humaliwo,意思是海
  • 英联邦山脉英联邦山脉(英语:Commonwealth Range)是南极洲的山脉,属于毛德王后山脉的一部分,长144公里、宽66公里,面积4,820平方公里,最高点海拔高度4,000米,该山脉在1907至1909年被英国探险队