视点·观察|科学家的挑战:十年前写的代码现在还能否运行
2019 年,法国国家信息与自动化研究所(INRIA)的 Nicolas Rougier 和国家科学研究中心(CNRS)的 Konrad Hinsen 发起了一个项目:Ten Years Reproducibility Challenge,邀请科学家重新运行十年前或更早时间写的代码 。有 35 名科学家参与了挑战,结果陆续发表在《ReScience C》期刊上 。
文章图片
【视点·观察|科学家的挑战:十年前写的代码现在还能否运行】科学家使用的语言从 C 和 R 到 Mathematica 和 Pascal,还有人重复的不是代码而是分子模型,编码在 Systems Biology Markup Language (SBML)中 。参与者意识到,曾经他们以为能牢牢记住的东西其实一个月内就会开始遗忘,要让代码能重复运行他们需要记录相关的信息,比如使用的参数值 。Rougier 本人再现的代码需要软盘和 Apple II 电脑,电脑不是问题,他的办公室里就有一台 。意大利科学家 Sabino Maggi 在 1995 年使用 Fortran 语言建模了超导装置约瑟夫逊结,用微软的 VB 处理结果 。Fortran 语言几十年来基本没变,编译代码没有遇到问题 。问题是 VB 。VB 早就死亡了,它就被 Visual Basic.NET 取代了,两者之间的共同之处就是它们的名字 。为了运行代码,他在 Mac 上创建了虚拟环境,加载了 Microsoft DOS 6.22 和 Windows 3.11,以及从网上下载的 VB,他承认安装私有软件可能存在合法性问题,表示当年他写代码的是时候有合法授权 。另一个问题是他不记得 VB 的版本了 。反直觉的一个现象是参与者发现旧的语言更容易再现,原因是新语言 API 和库的变化可能会导致旧代码不能正常运行,但旧的语言已经停止变化,因此几十年都能保持一致 。刚刚停止支持 Python 2.7 被认为就是不再变化的高级编程语言 。
- 新华视点|内蒙古打掉一盗销新能源汽车电池团伙 涉案金额逾1700万
- 山火|北美观察丨加州山火连年不止 到底是谁惹的祸?
- 科学|世界本来没有颜色?科学家发现大脑中的“调色板”机制
- 新华视点|内蒙古打掉一盗窃销售新能源汽车电池的团伙涉案金额逾1700万元
- 小米|二季度净赚34亿,小米股价迎来近10%涨幅
- 【行走自贸区】航空“试验田”让我们离飞行梦更近
- 记忆|人类为什么会丢失3岁之前的记忆?看看科学家如何解释
- 新闻观察|新闻观察 | 国际机构上调中国经济增长预期 逆势增长充分彰显中国经济韧性和活力
- 新闻观察 | 国际机构上调中国经济增长预期 逆势增长充分彰显中国经济韧性和活力
- 钱学森|中国10大科学家,很少有人知道他们的荣誉称号,他们是不朽丰碑