物联网Wi-Fi配网方式
|
外,系统环境也很重要。 Sabino Maggi 是意大利的一名计算机物理学家,他在 1996 年用 Fortran 语言建模了一个超导装置,并用 Microsoft Visual Basic 来处理结果。二十多年过去,「Visual Basic 是一门死掉的语言,早就被 Visual Basic.NET 取代」,Maggi 只能在自己的 Mac 电脑上做了一个十年前的 Windows 虚拟机来尝试运行代码。好巧不巧,Windows 在 96 年发布的众多系统版本不向前兼容,导致 Maggi 的代码没能成功运行。 人家 9 岁写的代码还能运行,9 岁的我却在玩泥巴还好 Rougier 的同事在清理办公室时抢救出了一台 Apple II ,这台「老古董」可不好「伺候」,它的老式磁盘无法和现在的计算机连接,代码的运行也就成了大难题。最终 Rougier 在亚马逊上淘到了 1993 年的老式磁盘,写入了三次数据才「盘活」磁盘,有了运行代码的必要硬件基础。
遇到类似问题的人不少,比如活动的发起者 Hinsen 说,他在 90 年代写的代码都保存在软盘里,现在找不到读取相应软盘的的工具了。 要想知道十年前的代码还能不能「run」起来,首先必须能找到十年前的代码 —— 这也是「十年代码挑战」虽然在圈内引起不少关注但截至目前参与者不多的原因之一。 知名的项目托管平台 GitHub 2008 年 4 月才上线,很多人更是在 2012 年后才开始使用它托管代码,在此之前的代码大多以论文、杂志期刊等形式保存,因此遗失了不少。 例如,法国国家信息与自动化研究所的计算机科学家 Roberto DiCosmo 在 1998 年发布了一篇论文,写了一个名为「OcamlP3l」的并行编程系统,但找遍自己和合著者的硬盘以及备份,他也没能找到代码,最后机缘巧合才在一个代码抓取网站找到当年的代码。 还有一位参与活动的 Rougier ,他的代码发表在 32 年前的杂志《Tremplin Micro》上,这家杂志出版商早已消失在历史的长河中,如果没有其它备份途径又找不到当年的杂志,这份代码相当于在编程历史上从未存在过。 很难想象,作为互联网的产物,代码也会因为新老时代存储容器革新的问题而遗失,这是「十年代码挑战」给编程圈带来的第一个现实意义,如何妥善保管之前的代码是值得考虑的事情。 你「run」凭你「run」,没当年的软硬件也白搭找到当年的代码后,别高兴得太早,第二个问题来了,相当一部分代码是「run」在当年的软硬件载体上,现在还能找得到这些软硬件吗?
前文提到的 Rougier 就遇到了这样的问题,32 年前 1988 年他才 16 岁,给 Apple II 电脑(1977 年 - 1993 年)写了一个图像放大器的程序代码,是截至目前「十年代码挑战」活动中最古老的代码。 目前,活动页面上已经有几十名参与者提交了十多年前的代码,这些代码在当年看来算得上高新前沿技术,但现在不少被当事人打上了「运行可能性低」的标签。这在我们行外人看来很难理解,编程的字母和符号没变,为什么就不能运行了呢? 十多年,首先变的是编程语言和工具之前流行一句玩笑话,说「写 C 语言的看不起写 C++ 的,写 C++ 的看不起写 Java 的,写 Java 的看不起写 C# 的,最后大家一起看不起写 PHP 的」。 一句玩笑话,充分说明了编程语言的变化。
TIOBE(编程语言排行榜单)公布了近 20 年的编程语言排行变化趋势图,总体来看,Java 和 C 语言仍然占据老大老二的位置,Python 异军突起,PHP、C++、C# 持续走低,SQL「起死回生」,Swift 半路「杀出」。 (编辑:唐山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


