Modula-2

✍ dations ◷ 2025-12-05 21:21:27 #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)。

相关

  • 酒石酸酒石酸(tartaric acid), C4H6O6,是一种α-羧酸, 双质子酸,存在于多种植物中,如葡萄,香蕉和罗望子,也是葡萄酒中主要的有机酸之一。通常与小苏打组合以充当面粉膨松剂。作为食品中
  • 让·布尔甘让·布尔甘(法语:Jean Bourgain,1954年2月28日-2018年12月22日),生于奥斯滕德,比利时数学家。他在1994年获菲尔兹奖,表扬他研究巴拿赫空间、调和分析和遍历理论的成果。他曾于伊利诺
  • Nasub3/subIrClsub6/sub六氯合铱(III)酸钠是一种配位化合物,化学式为Na3,它是暗绿色晶体,易溶于水,可以形成水合物。六氯合铱(III)酸钠可由三氯化铱和氯化钠在浓溶液中反应得到:从溶液中可以结晶出Na3·
  • 区域联合治理区域联合治理是中华民国第14任总统蔡英文所提出的主张,目的在于让地方长大,中央放权,调整中央地方权责及财源分配,以提高国家财政使用效率。此主张将台湾依生活圈概念区分为跨县
  • 林加拉语林加拉语(林加拉语:Lingála、Ngala)是班图语支的一种语言,主要分部在刚果民主共和国(刚果-金沙萨)的西北部和刚果共和国 (刚果-布拉柴维尔)的大部,安哥拉和中非共和国局部。使用这
  • 西拉西拉葡萄(英语:Shiraz、Syrah)简称希拉,也叫做西拉子、设拉子。是一个被广泛种植的酿酒葡萄品种,欧亚种,其广泛程度可能只有梅洛葡萄和赤霞珠能与其相比。其酿造的葡萄酒,风味与香
  • 江西历史江西省,简称赣。因公元733年唐玄宗设江南西道而得省名,意思是位于江南的西部地区。又因为江西最大河流为赣江而简称赣。起码二十万年前,南昌市治下的安义县已经有先民活动. 旧
  • 舟部舟部,为汉字索引中的部首之一,康熙字典214个部首中的第一百三十七个(六划的则为第二十个)。就繁体和简体中文中,舟部归于六划部首。舟部只以左方为部字。且无其他部首可用者将部
  • 2014年Gaon专辑冠军作品列表2014年Gaon专辑冠军作品列表《2014年Gaon专辑冠军作品列表》主要列举2014年度曾经登上“Gaon Chart”专辑周榜、月榜及年榜冠军的音乐专辑作品及其资料。4日 RAIN EFFECT(朝
  • 父进程在计算机领域,父进程(英语:Parent Process)指已创建一个或多个子进程的进程。在UNIX里,除了进程0(即PID=0的交换进程,)以外的所有进程都是由其他进程使用系统调用fork创建的,这里调用