编程|为了运行十年前的代码,他们翻出了1977年的Apple II( 二 )
还有一位参与活动的 Rougier, 他的代码发表在 32 年前的杂志《Tremplin Micro》上 , 这家杂志出版商早已消失在历史的长河中 , 如果没有其它备份途径又找不到当年的杂志 , 这份代码相当于在编程历史上从未存在过 。
很难想象 , 作为互联网的产物 , 代码也会因为新老时代存储容器革新的问题而遗失 , 这是「十年代码挑战」给编程圈带来的第一个现实意义 , 如何妥善保管之前的代码是值得考虑的事情 。
你「run」凭你「run」 , 没当年的软硬件也白搭 找到当年的代码后 , 别高兴得太早 , 第二个问题来了 , 相当一部分代码是「run」在当年的软硬件载体上 , 现在还能找得到这些软硬件吗?
前文提到的 Rougier 就遇到了这样的问题 , 32 年前 1988 年他才 16 岁 , 给 Apple II 电脑(1977 年 - 1993 年)写了一个图像放大器的程序代码 , 是截至目前「十年代码挑战」活动中最古老的代码 。
▲ Apple II
还好 Rougier 的同事在清理办公室时抢救出了一台 Apple II, 这台「老古董」可不好「伺候」 , 它的老式磁盘无法和现在的计算机连接 , 代码的运行也就成了大难题 。 最终 Rougier 在亚马逊上淘到了 1993 年的老式磁盘 , 写入了三次数据才「盘活」磁盘 , 有了运行代码的必要硬件基础 。
遇到类似问题的人不少 , 比如活动的发起者 Hinsen 说 , 他在 90 年代写的代码都保存在软盘里 , 现在找不到读取相应软盘的的工具了 。
▲ 系统也会影响老旧代码的运行 。 图片来自:Sabino Maggi
另外 , 系统环境也很重要 。
Sabino Maggi 是意大利的一名计算机物理学家 , 他在 1996 年用 Fortran 语言建模了一个超导装置 , 并用 Microsoft Visual Basic 来处理结果 。 二十多年过去 , 「Visual Basic 是一门死掉的语言 , 早就被 Visual Basic.NET 取代」 , Maggi 只能在自己的 Mac 电脑上做了一个十年前的 Windows 虚拟机来尝试运行代码 。 好巧不巧 , Windows 在 96 年发布的众多系统版本不向前兼容 , 导致 Maggi 的代码没能成功运行 。
人家 9 岁写的代码还能运行 , 9 岁的我却在玩泥巴
▲ 十年代码挑战网页第一个提交的代码
「When I was 9 I tried to heal a trees broken branch with grass.」(当我 9 岁的时候 , 我试图用草来治疗一棵树的断枝 。 )
一位年轻的小哥在 YouTube 上说自己 9 岁写的代码还能运行 , 一位用户发布了上面这样的评论 , 获得了 6363 个赞 。
这次参与「十年代码挑战」的代码都是什么样的呢?
爱范儿进入 GitHub 上的活动页面 , 发现这些代码和我们预想的不太一样 , 相当一部分是和科学研究有关的 , 和大众衣食住行的直接关联性较低 。
比如第一个参与人 John (EBo) David 提交的代码 , 写于 22 年前 , 名为「The behavior of landscape metrics commonly used in the study of habitat fragmentation」(常用于生境破碎化研究的景观度量的行为) 。
还有的代码涉及物理和数学研究领域 , 像「fermions at unitarity(统一的费米子)」、「Poincaré dodecahedral space parameter estimates(庞加莱十二面体空间参数估计值)」等 。
「Typographical features for scene text recognition(场景文字识别的印刷功能)」、「Effects of fire on regional evapotranspiration in the central Canadian boreal forest(火对加拿大中部北方森林中区域蒸散的影响)」算是和普通人关联度比较高的了 。
▲ 十五年前有关心血管疾病研究的代码
能让我们感觉到有一点「现代互联网」的代码也有一些 , 例如「Accuracy Study and Improvement of Network Simulation in the SimGrid Framework(SimGrid 框架中网络仿真的准确性研究和改进)」让我们联想到了近几年大火的「AI」 , 而这份代码实际发布于 2009 年 。
推荐阅读
- 显卡|《半条命:AIyx》使用RTX 3090显卡运行 画面宛如现实
- 苹果|iPhone12 运行内存曝光,又被苹果偷偷阉割了
- 阿里巴巴|IE浏览器真的就成了时代的眼泪,哪个会成为了PC端的霸主
- 苹果|苹果真狠,为了给iPhone12Pro让路,竟然停售iPhone11Pro系列
- IT之家|成功运行《毁灭战士》,达人用700多个土豆发电
- 万微科技2016|必读的编程书:用Python玩转数据科学编程
- 电热汇|意味着什么?,全国首条!世界最大!输煤管道带浆运行成功
- 威锋网|4GB,新 iPhone 运行内存信息曝光:Pro 版本为 6GB,其余则为
- 后代|人类存在的意义是什么?或许不是为了繁殖后代,而是宇宙需要人类
- miui12|MIUI12加入一项新功能,网友炸锅:为了它都要买小米手机!