根据计算机历史博物馆的Modula-3收藏集介绍,这门诞生于上世纪80年代末的编程语言,设计团队给自己定下一条铁规:语言规范不得超过50页。最终成稿只多出6行文本外加语法摘要,却将接口、对象、泛型、线程、异常、垃圾收集、子类型以及不安全代码隔离等一整套特性完整融入。这种极度克制的设计,在当年系统编程语言中并不多见。
Modula-3的起源要追溯到Maurice Wilkes向Niklaus Wirth的建议——把Modula-2+修订并标准化为Modula-3。Modula-2+已在Wirth的Modula-2基础上扩展了线程、垃圾收集和异常处理,而这些经验来自施乐帕克研究中心对Mesa和Cedar的实践。由DEC系统研究中心和Olivetti研究中心共同组成的团队——包括Luca Cardelli、Jim Donahue、Mick Jordan、Bill Kalsow和Greg Nelson——在1988年8月发布了初版设计,随后两版修订于1989年11月和1990年12月完成。
首版定义一公布,两个实验室便各自展开编译器实现。Olivetti的实现在内部使用了一段时间,但随着1991年2月Olivetti研究中心突然关闭,这条技术分支宣告终结。DEC SRC的实现则延续下来,成为后续所有Modula-3开发(除马萨诸塞大学阿默斯特分校一个短暂的GNU项目外)的根基。1991年出版的《Systems Programming with Modula-3》一书将语言推向更广的开发者群体。
回头来看,Modula-3所汇聚的特性——接口、对象、泛型、线程安全、垃圾收集等——在2025年的今天已变得相当普遍,但在1990年这些概念还远非主流,尤其在一个支持非堆分配数据结构的安全语言中同时出现,实属超前。
将语言定义压缩到巴掌大的篇幅,却装下如此丰富且前瞻的机制,Modula-3的设计哲学至今仍有参照意义。
热门跟贴