我决定,要把bug留给子孙后代了,让厉害的人继承吧

简介: 我决定,要把bug留给子孙后代了,让厉害的人继承吧

今天在聊项目之前,我们先来聊一下历史。

中学时候拿到的第一本历史书,上面是从智人的起源讲起的,他轻轻掠过尧舜禹,秦始皇统一六国,千古一相李斯。他喊二川溶溶,流入宫墙。五步一楼,十步一阁。你看他说雕栏玉砌应犹在,这是你这辈子只见过红墙绿瓦的人也能想象出来曾经的世界。

我很多时候都觉得,语文,古文,就是幼年时得到最好的对美的启蒙,对想象的启蒙。因此当武亦姝站在《中国诗词大会》上说出“七月在野,八月在宇,九月在户,十月蟋蟀入我床下”的时候,她就是美的代表。

而这归根结底的一切,是记录,这是记录带给我们的美;是记录带给我们的上一个世界。

日前,Github 推出了“开源保护计划”,为了把开源软件留给子孙后代,其将在 2020 年 2 月 2 日为所有公共存储库生成快照,然后保存在北极一个地下 250 米的废弃煤矿。快照储存在一种特殊胶片上,其寿命高达 1000 年。

screenshot

(我 10:23 写的文,还有 79 天 19 小时,你们看到的时候应该只有 79 天 18 小时了)

我们的未来,是无人能预料到的。

在《环太平洋》中,2025 年,我们有了真人高达,去跟毁灭地球的怪兽决斗。

screenshot

在《我的机器人女友》中,2060 年的时候,80 岁的你可以发明一个高仿真女机器人,送给 20 多岁的你——来避免单身 60 年——机器人还能长成绫濑遥那样。

screenshot

在《机器人总动员》中,地球没了,地球就是垃圾,我的天,人类都不是主角了,人类都是大胖子,等个可怜巴巴的小机器人避免灭族之灾。

screenshot

我就寻思,这咋整啊,到时候还有人能看到我博客的不?还有能知道我曾经在这个地球上做出过什么样东西吗?

GitHub 也这么寻思的。

GitHub 正与 Long Now 基金会、Internet Archive、软件遗产基金会、Arctic World Archive、Microsoft Research、Bodleian 图书馆和斯坦福图书馆合作,以确保世界开源软件的长期保存。

所有的开源资料,由GitHub,GHTORRENT,GH 档案,互联网档案,软件遗产基金会,牛津BODLEIAN博物馆,北极世界档案馆,以及微软正在研究的二氧化硅项目保存。

他们将不断地跨各种数据格式和位置、存储多个副本来保护这一无价的知识,包括一个设计至少可保存 1000 年的长期存档。

screenshot

也许未来就像《星际穿越》一样,我们全部已经搬到机器壳子了,或许已经实现了 AI 写代码,而后代的历史学家就要辛苦研究你的代码,充满困惑的想怎么还有人要手敲几千行的 C++ 啊。

但无疑,这世界上就是一定会有一个人,打开你写过的东西,打开这个 commit by someone 的东西。

screenshot

其中最震撼人心的是 GitHub 的北极世界档案馆和微软公司的二氧化硅项目。

2020年2月2日,GitHub将捕获每个活动公共存储库的快照,并保存在GitHub北极代码库中。这些数据将存储在3500英尺的胶卷上,由专门从事长期数据存储的挪威公司Piql提供和编码。

screenshot

另外,GitHub 存档程序正与微软的 Silica 项目合作,通过使用飞秒激光将所有活跃的公共存储库写入石英玻璃盘中,最终将它们存档超过一万年。

screenshot

在我们之前的一万年,世界还是新石器的状态;而在我们以后的一万年,我们已是枯骨,但我们写出来的东西,还是永远的影响和改变世界。(写着写着都要把自己感动哭了)

所以各位伟大的注定要流传千古程序员知道要先干什么了吗?

好好写注释吧(手动微笑)

相关文章
|
7月前
|
Java 编译器
【Java不看后悔系列】|面向对象编程|[继承、封装、多态全覆盖]
【Java不看后悔系列】|面向对象编程|[继承、封装、多态全覆盖]
45 0
|
编译器 C++
《C++避坑神器·六》多继承下问题处理(同名变量,信号槽,多态内存释放)
《C++避坑神器·六》多继承下问题处理(同名变量,信号槽,多态内存释放)
59 0
|
前端开发 Java 编译器
Java的第十六篇文章——枚举、反射和注解(后期再学一遍)
Java的第十六篇文章——枚举、反射和注解(后期再学一遍)
每日一道面试题之什么情况下会更倾向于使用抽象类而不是接口?
每日一道面试题之什么情况下会更倾向于使用抽象类而不是接口?
|
Java
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。(二)
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。
88 0
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。(二)
|
Java
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。(一)
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。
93 0
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。(一)
|
Java
Java面向对象进阶4——多态的弊端及解决方法
多态本身是子类类型向父类类型向上转换(自动转换)的过程,这个过程是默认的。当父类引用指向一个子类对象时,便是向上转型。
133 0
Java面向对象进阶4——多态的弊端及解决方法
|
Java C++
多重继承有时候确实有必要
多重继承有时候确实有必要
49 0
|
编译器 C++
C++中如何避免覆盖由继承而来的成员
C++中如何避免覆盖由继承而来的成员
176 0
|
Java 程序员 架构师
为什么程序员千万不要重写代码?
为什么程序员千万不要重写代码? 你所做的事情,也许暂时看不到成果,但不要灰心或焦虑,你不是没有成长,而是在扎根。 图片来自网络 0 前言 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来。
1668 0