在计算机科学飞速发展的今天,编程语言层出不穷,从早期的机器码到如今的Python、Rust,每一次迭代都承载着人类对计算效率与抽象表达的不懈追求。然而,许多曾风靡一时的语言却随着技术更迭而逐渐被遗忘,它们的诞生背景、设计哲学乃至源代码都散落在故纸堆和零散的网络角落中。近日,一项名为“Online Historical Encyclopaedia of Programming Languages”(在线编程语言历史百科全书)的公益项目正式向全球开放,试图为这一领域搭建一座系统、权威、永久的数字档案馆。
一场对抗“技术遗忘”的全球协作
该项目由一群来自计算机科学史、信息科学和开放数据领域的学者联合发起,核心团队包括英国计算机学会历史委员会成员、美国计算机历史博物馆研究员以及多位独立编程语言设计师。与维基百科不同,这部百科全书不追求实时更新或覆盖所有最新语言,而是聚焦于“历史性”——收录那些在技术史上留下印记、或具有独特设计理念的语言,无论它们是否仍在活跃使用。
据项目官网介绍,目前数据库已收录超过2500种编程语言,时间跨度从1940年代的Plankalkül(由德国计算机先驱康拉德·楚泽设计,是世界上最早的高级编程语言之一)到21世纪初的Groovy和Go。每一条目均包含语言创建时间、创始人、设计目标、关键语法特性、历史影响、代码示例及参考文献,部分条目还附有原始论文扫描件或模拟器的链接。
从“小众考古”到“学科基建”
在很长一段时间里,编程语言的历史研究高度依赖零散的博客文章、技术会议记录和博物馆展览。例如,FORTRAN的早期设计手稿保存在IBM档案馆,ALGOL的相关文献散见于各个大学的图书馆,而一些鲜为人知的语言如“MAD”(Michigan Algorithm Decoder)甚至只有几份打印的学术报告存世。这部百科全书的出现,首次将这些碎片化的信息整合为可搜索、可交叉引用的结构化数据库。
项目的技术总监、斯坦福大学计算机科学史研究员艾伦·阿什利在声明中表示:“我们正在经历一场前所未有的‘数字失忆’。许多1970年代至1990年代诞生的语言,随着物理存储介质的退化和开发者的离世,正从集体记忆中消失。这部百科全书不仅是历史的记录,更是未来研究者理解计算机科学演化规律的基石。”他特别提到,项目已与互联网档案馆(Internet Archive)合作,对语言相关的早期源代码、说明书和模拟器进行长期保存。
特色功能:时空地图与“语言族谱”
为了让用户直观感受编程语言的演变脉络,该网站还集成了交互式时间线和“语言谱系图”。用户可以选择任意十年区间,查看该时期内诞生的语言及其相互影响。例如,点击1950年代,可以清晰看到IBM 704汇编器如何催生FORTRAN,而FORTRAN又直接影响了ALGOL 58和COBOL的设计。语言谱系图则通过节点与连线展示“继承关系”,如C语言衍生出C++、Java、JavaScript等庞大分支,而Smalltalk则深刻影响了面向对象编程的后续发展。
此外,项目还推出了“本月历史语言”栏目,首期聚焦于PL/I——一种由IBM在1960年代开发的、试图统一商业和科学计算的语言。尽管PL/I最终未获广泛成功,但其多范式设计(同时支持结构化、面向对象和并发编程)理念,远早于当时的时代,至今仍被不少语言研究者视为“过度工程化的经典案例”。
争议与挑战:何为“历史性”?
任何历史分类工作都面临标准争议。该百科全书在收录时采用了相对宽泛的标准:只要一门语言拥有正式规范文档、至少有少量公开资料(如论文、手册或已知的实现),且其出现时间超过20年,即可申请收录。但这一标准也引来批评——一些语言如“Brainfuck”(一种刻意简化的编程语言,作为恶搞作品于1993年发布)因其文化影响力被收录,而部分严肃但从未商业化的小众语言反而不被纳入。项目编辑委员会回应称,收录过程会邀请领域专家进行同行评议,并鼓励用户提交补充材料,未来将根据社区反馈动态调整分类标准。
对中国编程语言史的启示
这部百科全书也为中国计算机史研究提供了参照。中国自主研发的编程语言如“起航”(2000年,用于国产操作系统)、“易语言”(2004年,基于中文关键字)等,在该数据库中已有初步条目。但令人遗憾的是,由于早期语言资料的保存不足,许多来自中国航天、国防领域的自研语言仍处于“记录缺失”状态。项目方表示,欢迎中国学者和爱好者提供资料,建立汉语条目专区。
结语
当一段代码被写下,它便成为人类智慧的一部分。在线编程语言历史百科全书不只是一张技术清单,更是一幅跨越八十余年的思维进化地图。它提醒我们:每一次语言设计的分叉,都映射着当时对“如何让机器更好地服务人类”的深刻思考。正如项目主页上的一句话:“没有真正过时的语言,只有被遗忘的故事。”对于任何关心计算文明的人来说,这座“数字方舟”都不应被错过。