《自然》评选改变科学的10个计算机代码项目


《自然》评选改变科学的10个计算机代码项目



据国外媒体报道, 从Fortran到arXiv.org, 这些计算机编码和平台让生物学、气候科学和物理学等学科的发展达到了真正“日新月异”的速度 。
2019年, 事件视界望远镜团队让世界首次看到了黑洞的样子 。 不过, 研究人员公布的这张发光环形物体的图像并不是传统的图片, 而是经过计算获得的 。 利用位于美国、墨西哥、智利、西班牙和南极地区的射电望远镜所得到的数据, 研究人员进行了数学转换, 最终合成了这张标志性的图片 。 研究团队还发布了实现这一壮举所用的编程代码, 并撰文记录这一发现, 其他研究者也可以在此基础上进一步加以分析 。
这种模式正变得越来越普遍 。 从天文学到动物学, 在现代每一项重大科学发现的背后, 都有计算机的参与 。 美国斯坦福大学的计算生物学家迈克尔·莱维特因“为复杂化学系统创造了多尺度模型”与另两位研究者分享了2013年诺贝尔化学奖, 他指出, 今天的笔记本电脑内存和时钟速度是他在1967年开始获奖工作时实验室制造的计算机的1万倍 。 “我们今天确实拥有相当可观的计算能力, ”他说, “问题在于, 我们仍然需要思考 。 ”
如果没有能够解决研究问题的软件, 以及知道如何编写并使用软件的研究人员, 一台计算机无论再强大, 也是毫无用处的 。 如今的科学研究从根本上已经与计算机软件联系在一起, 后者已经渗透到研究工作的各个方面 。 近日, 《自然》(Nature)杂志将目光投向了幕后, 着眼于过去几十年来改变科学研究的关键计算机代码, 并列出了其中10个关键的计算机项目 。
语言先驱:Fortran编译器(1957年)
最初的现代计算机并不容易操作 。 当时的编程实际上是手工将电线连接成一排排电路来实现的 。 后来出现了机器语言和汇编语言, 允许用户用代码为计算机编程, 但这两种语言都需要对计算机的架构有深入的了解, 使得许多科学家难以掌握 。
20世纪50年代, 随着符号语言的发展, 特别是由约翰·巴克斯及其团队在加州圣何塞的IBM开发的“公式翻译”语言Fortran, 这种情况发生了变化 。 利用Fortran, 用户可以用人类可读的指令来编程, 例如x = 3 + 5 。 然后由编译器将这些指令转换成快速、高效的机器代码 。
不过, 这一过程仍然很不容易 。 早期的程序员使用打孔卡来输入代码, 而复杂的模拟可能需要数万张打孔卡 。 尽管如此, 新泽西州普林斯顿大学的气候学家真锅淑郎(Syukuro Manabe)还是指出, Fortran让非计算机科学家也能编程, “这是我们第一次能够自己给计算机编程” 。 他和同事们利用这种语言开发的气候模型是最早取得成功的模型之一 。
Fortran发展至今已经到了第八个十年, 它仍然广泛应用于气候建模、流体动力学、计算化学等学科, 这些学科都涉及到复杂线性代数并需要强大的计算机来快速处理数字 。 Fortran生成的代码速度很快, 而且仍然有很多程序员知道如何编写 。 古早的Fortran代码库仍然活跃在世界各地的实验室和超级计算机上 。 “以前的程序员知道他们在做什么, ”美国海军研究院的应用数学家和气候模型师弗兰克·吉拉尔多说, “他们非常注重内存, 因为他们拥有的内存非常少 。 ”
信号处理器:快速傅立叶变换(1965)
当射电天文学家扫描天空时, 他们捕捉到的是随时间变化的复杂信号杂音 。 为了理解这些无线电波的本质, 他们需要看到这些信号作为频率的函数时是什么样的 。 一种名为“傅里叶变换”的数学过程可以帮到研究人员, 但它的效率很低, 对于一个大小为N的数据集需要N^2次计算 。

推荐阅读