Modula-2

✍ dations ◷ 2025-06-29 06:32:57 #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)。

相关

  • 聚变能聚变能(又称核聚变能源)指利用核聚变产生能量。 聚变反应是一种结合两个较轻核子产生较重核子的高能反应。合并时,部分质量丧失转换为能量(质能守恒)。聚变能研究主要关注于驾驭
  • 720110 数学 120 信息科学与系统科学 130 力学 140 物理学 150 化学 160 天文学 170 地球科学 180 生物学210 农学 220 林学 230 畜牧、兽医科学 240 水产学310 
  • 弗兰克-瓦尔特·施泰因迈尔弗兰克-瓦尔特·施泰因迈尔(Frank-Walter Steinmeier,1956年1月5日-)是一名德国政坛人士,德意志联邦共和国总统。他生于北莱茵-威斯特法伦州的代特莫尔德市,是德国社会民主党内的
  • 角度在几何学中,角(拼音:jiǎo,注音符号:ㄐㄧㄠˇ)是由两条有公共端点的射线组成的几何对象。这两条射线叫做角的边,它们的公共端点叫做角的顶点。一般的角会假设在欧几里得平面上,但在
  • 生存证明生存证明为中华人民共和国境内离退休人员领取养老金的资格证明之一,强制离退休人员向公安机关申请开具。2004年,劳动和社会保障部颁布《关于对异地居住退休人员进行领取养老金
  • 卡卡杜李费氏榄仁(学名:Terminalia ferdinandiana),又名卡卡杜李(Kakadu plum)、公山羊李(Billygoat plum),是使君子科诃子属的一种木本植物。原产于澳洲,广泛的分布在澳洲西北部至北领地安恒
  • 学习曲线学习曲线是对某种活动或工具的学习速率(平均情况)的图形化表示。一般来说,刚开始时掌握信息的速率曲线最为陡峭,之后则逐渐变得平缓,这表明之后的学习过程中对新信息的掌握速率会
  • 王选王选(1937年2月5日-2006年2月13日),生于上海,江苏无锡人,中国计算机科学家,中国科学院院士、中国工程院院士,北京大学教授,九三学社中央副主席、全国政协副主席。他是汉字激光照排系
  • 2006年美国中期选举2006年美国中期选举于美国时间2006年11月7日举行,这次中期选举是为了改选美国众议院全部435席众议员、美国参议院100席的三分之一(三十三席)和三十六位州长。三十七个州也趁这
  • 枕骨枕骨(L'os occipital / occipital bone)中医上又称山骨、玉枕骨、乘枕骨、后枕骨。组成颅骨的29块骨骼之一。共一块。枕骨位通人字缝连接顶骨之后,一直延伸至颅底。枕骨下方中