科学家的挑战:十年前写的代码现在还能否运行

  发布时间:2025-11-04 04:14:44   作者:玩站小弟   我要评论
2019 年,法国国家信息与自动化研究所INRIA)的 Nicolas Rougier 和国家科学研究中心(CNRS)的 Konrad Hinsen 发起了一个项目:Ten Years Reprodu 。

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 被认为就是不再变化的高级编程语言。

  • Tag:

相关文章

  • 探究12年Macmini的性能和特点(一台经典之作,是否依然耐用可靠?)

    摘要:12年Macmini作为苹果旗下一款小巧的台式机,于2012年推出,备受用户喜爱。然而,随着时间的推移,新的产品不断问世,我们不禁要问,12年的Macmini是否依然能够满足我们的...
    2025-11-04
  • 浩鲸科技:为什么要用雪花ID替代数据库自增ID?

    今天咱们来看一道数据库中比较经典的面试问题:为什么要使用雪花 ID 替代数据库自增 ID?同时这道题也出现在了浩鲸科技的 Java 面试中,下面我们一起来看吧。浩鲸科技的面试题如下:其他面试题相对来说
    2025-11-04
  • 16个系统设计中的核心概念

    系统设计是计算机科学技术领域的重要主题。在系统设计中,对于负载均衡、缓存、分区、复制、数据库和代理等基本设计概念的深入理解是十分重要和必要的。这些概念是系统设计的关键要素,对于设计高质量的系统和应对各
    2025-11-04
  • 揭秘黑客最爱的六大前端漏洞,你的应用中招了吗?

    我们目睹了攻击和安全漏洞最严重的一年,平均数据泄露成本高达445万美元!如今,一切都依赖计算和互联系统来提供尖端业务服务,以满足客户永无止境的需求。因此,企业需要采用最先进的技术来保持竞争优势,这并不
    2025-11-04
  • 轻松掌握Windows10操作——以电脑ws10使用教程为主题(逐步学习ws10操作,提高电脑使用效率)

    摘要:随着科技的不断进步,电脑已经成为我们日常生活和工作中必不可少的工具。而Windows10作为最新版本的操作系统,带来了更多实用的功能和更流畅的用户体验。然而,对于一些刚接触或不熟悉...
    2025-11-04
  • Redis的主从库如何实现数据一致?

    之前我们详细了解了 Redis 的持久化机制,包括 AOF 和 RDB,它们能在宕机发生时,尽量少丢失数据,确保可靠性。然而,如果只有一个 Redis 实例在运行,它在恢复数据期间将无法服务新的数据请
    2025-11-04

最新评论