在未来发展中的重要性体现在哪里?
虽然是在数码世界,但挑战者的经历和现实世界的考古一样可以借古喻今,提出未来复现代码的最佳策略。其中一个共同点是,科学家想要复现代码就必须优化文档。“2002年,我觉得我所有东西都能记一辈子,”威斯康星大学麦迪逊分校的生物统计学家Karl Broman说,“之后我才意识到,过不了一个月就会忘了。” 重现科研 Rougier的参赛作品重现的是整个挑战里最老的代码[1],他在16岁时为Apple II写的图像放大器,文章发表于一份已经停刊的法国业余爱好者杂志《Tremplin Micro》(挑战里最老的科学代码是一份28年前的绘制水质数据的Pascal程序,之后会在《ReScience C》上发表)。32年之后,Rougier已经记不清代码是怎么运作的了,它用的还是长得像咒语一样的AppleSoft BASIC代码——“挺奇怪的,毕竟是我本人写的”。但他成功地在网上找到了这份代码,并用网页版本的Apple II模拟器成功运行。这一步比较简单,他说,在实际的Apple II上运行才是真正的困难。 硬件并不是问题——Rougier在办公室有一台Apple II,是他同事清理办公室的时候捡回来的。“年轻人会问‘这是个啥?’”他说,“然后你就得解释‘这是台电脑’。老人看到就会说‘哦,我对这机器有印象’。”但是因为Apple II比USB和互联网还要早——而现代的电脑也没法直接和老式硬盘连接——Rougier就需要一些自制的硬件,外加上一盒老式软盘,才能让电脑读取代码。他在亚马逊上找到了这些东西,1993年造的“全新”品。写入三次保证所有比特都稳定之后,他确认了这些软盘可用。 INRIA研究中心的计算机科学家Bruno Levy评审了Rougier写的内容。Levy也有一台Apple II,还在推特上发布了一小段视频。在老式键盘的一声“咔哒”之后,他调用了代码并成功执行,缓缓显示出一行纯绿色的“我们重现科研!”。 过时的硬件,已死的语言 当法国国家科学研究中心的生物物理化学家Charles Robert听说这一挑战的时候,他决定用这个机会回顾一个他很多年都没再思考的研究课题。“这个挑战给了我临门一脚,让我再向那个方向努力一把。”他说。 1995年,Robert用运行了商业软件Mathematica的计算笔记本为真核染色体的三维结构做了建模。Robert在MacBook上有Mathematica,但是为了好玩,他花了100欧元(约合800人民币)买了一台Raspberry Pi,这是个爱好者玩的单片机,上面安装了Linux系统,并预安装了Mathematica 12。 Robert运行代码时基本没什么问题,但是暴露出了计算笔记本可能会引发的难点[2],例如缺乏代码结构,而代码段也可能不按顺序执行。到了今天,Robert通过将代码拆成模块并写了代码测试。他还使用了版本控制来追踪代码的修改,并记录了哪个版本的软件产生了什么样的结果。“当我读到老代码的时候,偶尔会起鸡皮疙瘩,然后思考现在能如何做得更好,”他说,“不过,我还觉得整个过程让我复习了从那之后学的一些知识。” 成功完成挑战的Robert并非孤例:至今为止发表的13份重现论文中只有2篇失败了。其中之一是Hinsen写的,1990年代初他用来系统性储存代码的磁带让他栽了跟头[3]。“这就是做了备份却没能在十年后检查备份是否能读的下场。”他说,“之前你有这套很好的磁带,还有备份,但是现在没有读取设备了。”(Hinsen还发表了一篇成功完成的文章[4])其他没能成功完成挑战的参与者归因于时间不足,特别是在疫情之下。 挑战者遇到的另一个普遍问题是过时的计算环境。现在在意大利国家研究委员会的大气污染研究所任职的计算物理学家Sabino Maggi曾经使用程序语言Fortran为一种叫做Josephson结的超导设备进行了建模,并用微软的Visual Basic处理了结果。在那之后,Fortran的改变不多,因此Maggi只微调了一些就成功编译了代码。Visual Basic则造成了更大的麻烦。 “Visual Basic,”Maggi在文章[5]里写道,“是一门已死的语言,已经被Visual Basic.NET取代很久了,而两者之间只有名字一样。”为了运行代码,他不得不在Mac笔记本上重构了一个十年前的Windows虚拟机。他用网上找到的安装盘装了微软DOS6.22和Windows3.11(都是1994年前后的软件)以及Visual Basic。“即使是很久以前的软件,使用模拟器安装版权软件仍然可能有合法性的问题。”Maggi承认。不过,因为他当时做科研的时候有合法的证书,他说他觉得“至少道德上有资格”使用。
但是该用哪个版本的Visual Basic?微软在几年内发布了好几个版本的Visual Basic,并且不都是向前兼容的。Maggi已经记不起1996年他用的是哪个版本的了,而地下室的一次漏水摧毁了他早年记录这些细节的笔记本。“我得从头开始了。”他说。 (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |