Modula-2

✍ dations ◷ 2025-02-23 21:52:31 #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)。

相关

  • 死亡率死亡率是用来衡量一部分人口中,一定规模的人口大小、每单位时间的死亡数目(整体或归因于指定因素)。死亡率通常以每年每一千人为单位来表示;因此在死亡率为9.5的10万人口中,表示
  • 古印第安人古印第安人是指最初进入美洲并定居的人,时间在美洲大陆的更新世时期晚期的后冰川时期。“古印第安人”一词特指西半球的石器时代,不同于旧石器时代(Paleolithic)。有证据表明在
  • 马里奥·蒙蒂马里奥·蒙蒂(Mario Monti,1943年3月19日-),意大利知名经济学家,曾任意大利总理,现任终身参议员。蒙蒂生于意大利北部城市瓦雷泽的一个富裕家庭,父亲从事银行业。他1965年毕业于位于
  • 珀塞尔亨利·珀塞尔(英语:Henry Purcell,1659年9月10日-1695年11月21日),巴洛克时期的英格兰作曲家,吸收法国与意大利音乐的特点,创作出独特的英国巴洛克音乐风格。他被认为是英国最伟大的
  • 领土主权争议世界主权争端领土列表列出世界上存在主权争议的地区。边界争端根据成因可分为位置性的边界争端(Positional Boundary Disputes)和领土性的边界争端(Territorial Boundary Dispu
  • 孙叔敖孙叔敖(约前630年-约前593年),又称
  • 旋转对映异构物阻转异构现象是某些分子单键自由旋转受阻时,产生光活性异构体的现象,也可看作是构象异构的一类。其英文名为Atropisomer,来源于希腊文,其中a意为“不”,tropos意为“旋转”。该名
  • 刘渠刘渠(?-?),字清甫,湖广安陆卫(今湖北省钟祥市)人,明朝政治人物。湖广乡试第三名举人。正德十六年(1521年)登辛巳科进士。累官贵州巡抚。曾祖刘让,祖父刘琮,父刘洪,成化进士,官至南京左都御史
  • 小翼手亚目小蝙蝠是小翼手亚目或小蝙蝠亚目(学名:Microchiroptera)的通称,以前被视为翼手目中的一个亚目,现已成为一个被弃用的分类单元。以往会将蝙蝠依其体型分为大翼手亚目及小翼手亚目,
  • 保罗·萨巴捷保罗·萨巴捷(法语:Paul Sabatier,1854年11月5日-1941年8月14日),法国化学家,出生于法国卡尔卡松,逝于图卢兹。在1912年,他与维克多·格林尼亚共同获得诺贝尔化学奖。1874年,萨巴捷进