0x01、
在粒子物理学的发展过程中,有这样一个计算软件,它一度被视为粒子物理学研究的基础工具之一。
它就是:FORM。
众所周知,高能物理学领域中涉及很多超长且复杂的方程和公式,这时候就需要有一个能满足特定需求的计算软件(或者程序)来完成对应的工作。
而FORM则是一个可以进行大规模符号运算的计算程序,可以计算伽马矩阵、并行计算、包括模式匹配等。
多年来FORM一直扮演着粒子物理学领域关键工具的角色,并支撑着领域的研究和发展,行业内甚至有很多软件包都依赖于它。
但是就是这样一个领域必备的软件工具,其维护人现在都已经70多岁了,而如今却快要落得没人维护的田地了。。
0x02、
FORM自1984年就开始开发,距今已经有好几十年的历史了。
FORM的开发者是来自于荷兰的粒子物理学家乔斯·维马塞伦(Jos Vermaseren),也是现在该程序的维护者,现如今也已经70多岁高龄了。
而作为一个源自上世纪80年代的程序,彼时计算机方开始普及,软件工具也才逐渐开始兴起。
FORM的前身是由荷兰物理学家马蒂努斯·维尔特曼(Martinus Veltman)所创建的一个名为Schoonschip的程序,但是受限于当时的存储和外设条件等一系列原因,使用起来并不方便。
于是Jos Vermaseren开始着手研究该如何做出一个更易于获取和使用的工具程序。
起初Jos Vermaseren使用的是FORTRAN语言来写的这个程序,但是后来在FORM 1.0版本正式发布以前,Jos Vermaseren又重新使用C语言把该工具给重写了一遍。
就这样,从最早的Apollo工作站到后来的奔腾PC,这个程序慢慢开始被推广使用并流行起来。
经过多年的发展,目前FORM支持的版本如下:
- FORM:顺序版,可以在单个处理器上运行;
- ParFORM:多处理器版本,它可以使用集群和系统,处理器有自己的内存;
- TFORM:支持处理器共享内存系统的多线程版本,主要用于处理器数量有限的系统。
0x03、
聊回到FORM项目70多岁的维护人Jos Vermaseren老爷子,说实话还是非常佩服的。
进入Jos Vermaseren的GitHub主页(https://github.com/vermaseren)可以看到,老爷子早在2013年就加入了GitHub社区。
并在同期创建了他个人的首个GitHub仓库,也就是form。
截止到目前,这也是Jos Vermaseren在GitHub上的唯一一个维护的项目仓库。
不过比较遗憾的是,这个开源项目不管是访问量还是star、fork数,都十分惨淡。
0x04、
既然这个软件如此重要且无法完全被替代,那为什么现如今想找一些后继的维护人都不那么容易呢?
关于这个问题,Jos Vermaseren本人也曾说过:
“这么多年我一直都有看到,在计算工具上花费大量时间的科学家却无法得到一个物理学领域的终身职位。”
Jos Vermaseren表示自己还算是幸运的,拥有一个在荷兰国家亚原子物理研究所的终身职位,并且还有一个欣赏这个项目的老板,然而很多相关的研究者却不一定都能这样了。
所以这么看来,这也算是被一些现实的问题,所困扰到了。
投入大量精力却得不到对应的回报,而且还要求维护人员有跨学科的知识技能,不少相关领域的研究者也望而却步了。
而且在物理学术界,大家对于物理学本领域的成果产出和论文发表普遍比较看重,而程序开发的努力和关注度则往往被低估了。
可能这也某一程度上导致了像FORM这种软件工具想要找到持续的维护者都变得不那么容易了。
所以说到底,这也算是一个“坐冷板凳”的现实问题了。
文章的最后也附上和FORM相关的开源项目地址,分享给大家。
- FORM主页:https://www.nikhef.nl/~form
- GitHub主页:https://github.com/vermaseren/form
感兴趣的同学可以上去看一看,除此之外,大家有兴趣也可以研究一下对应的项目代码。
注:本文在GitHub开源仓库「编程之路」 https://github.com/rd2coding/Road2Coding 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。