在计算机科学领域中,Modula-3是一种作为Modula-2继任者的,Modula-2的升级版被誉为Modula+的编程语言。虽然它已在研究界是有影响力的(影响的语言的设计,如Java,C#和Python)还没有在工业上被广泛采用。它是由Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan (before at the Olivetti Software Technology Laboratory), Bill Kalsow and Greg Nelson在上世纪80年代末数字设备公司(DEC)系统研究中心(SRC)和Olivetti研究中心(ORC)设计.
Modula-3的主要特点是简单、安全的同时保持一个系统编程语言的强大。Modula-3旨在继续pascl类型安全的传统,同时引入实际编程的新构建。特别是Modula-3添加了支持泛型编程(类似于模板)多线程,异常处理,垃圾收集,面向对象编程,部分不安全的代码的暴露和显式标记。Modula-3的设计目标是用基本的形式实现大部分命令式编程语言重要的现代特征。因而涉嫌危险和复杂的特征如多重继承和运算符重载被省略了。
Modula-3项目始于1986年11月,当时莫里斯威尔克斯向Niklaus Wirth写了一些关于Modula新版本的想法。威尔克斯在此之前一直在DEC工作,并回到英格兰并加入了Olivetti的研究战略委员会。Wirth已经转移到了Oberon,但Wilkes的团队在Modula名下继续开发没有任何问题。语言定义于1988年8月完成,并于1989年1月更新版本.DEC和Olivetti的编译器很快就会出现,之后是第三方实现。
它的设计受到SRC和Acorn计算机研究中心(ARC,后来当Olivetti收购Acorn后ORC)的Modula-2 +语言工作的影响很大,这是该操作系统的语言。编写了DEC Firefly多处理器VAX工作站,其中编写了用于基于ARM的Acorn Archimedes系列计算机的ARX操作系统项目的ARC的Acorn C和Modula Execution Library(CAMEL)的Acorn编译器。正如经修订的Modula-3报告所述,该语言受到其他语言的影响,如Mesa,Cedar,Object Pascal,Oberon和Euclid。
在20世纪90年代,Modula-3作为一种教学语言获得了可观的货币,但它从未广泛用于工业用途。造成这种情况的原因可能是DEC的消亡,这是一个关键的Modula-3支持者(特别是当它在1998年DEC被出售给康柏之前不再有效地维持它)。无论如何,尽管Modula-3的简单性和强大功能,似乎对于面向对象编程实现受限的过程编译语言的需求很少。有一段时间,一个名为CM3 的商业编译器由DEC SRC之前的一个主要实现者维护,他们在DEC被出售给Compaq之前被雇用,这是一个集成开发环境被称为Reactor和可扩展的Java虚拟机(以二进制和源格式许可并可与Reactor构建)由Critical Mass,Inc。提供,但该公司在2000年停止了活动,并将其产品的一些来源提供给elego Software Solutions有限公司。Modula-3现在在大学教授,主要是比较编程语言课程,其教科书已绝版。基本上,Modula-3的唯一企业支持者是elego软件解决方案有限公司,它继承了Critical Mass的资源,并且已经以源代码和二进制形式发布了几个版本的CM3系统。Reactor IDE已经开源几年后才发布,新的名称是CM3-IDE。2002年3月,elego还接管了另一个活跃的Modula-3发行版PM3的存储库,直到后来在蒙特利尔ÉcolePolytechnique维护,但后来继续进行的HM3工作在几年后得到了改进,直到它被淘汰。
语言语法的一个常见示例是Hello world程序。
MODULE Main; IMPORT IO; BEGIN IO.Put("Hello World\n") END Main.