大道至简
网络时代软件变革之道
最后更新于
作为一个版本控,咱向来是用新不用旧。一方面这直接导致咱大量的时间消耗在软件升级及适应新版本上,另一方面这也让咱拥有了相对丰富的软件升级的经验。
在由各类软件“最新版本”、“开发版本”乃至于“不兼容替代品”搭建成的华丽但脆弱的扑克山上长期居住,个中辛酸,人生百味,不必多言。
就说说好的一面吧,咱已经实现了数据全面上云,并且掌握了熟练的数据恢复、系统重装、应用部署技术,除此之外还培养了较高的情绪控制力。
只要承载核心数据的微软 Onedrive 不出问题,软件 Bug 引发的数据丢失、软件损坏、系统崩溃,都是过眼云烟;物理层面的硬件损坏,不以介怀;哪怕是心理上的损害,也能自舐伤口。
这么多年的折腾,也该反思总结一下了。故开此篇谈一谈对于软件变革之道的认识。
受限于个人能力 XD,文中图片均取自网络,侵删
变革就是引入了影响较大的不向后兼容更改的升级。用语义化版本(Semantic Versioning)来具体说明,就是引起主版本号变更的升级。
编程语言:Python2 -> Python3
网络协议:IPv4 -> IPv6
操作系统:Windwos -> Linux
管理框架:iptables -> nftables
日常应用:QQ -> 微信
如果把软件升级的过程比作昆虫成长的过程,变革就相当于“变态发育”的环节。
在高速发展的现代信息化社会,海量的的电子数据在错综复杂的信道上光速汹涌,而支撑起这一切的网络架构,也在巨浪的澎湃下不断改变。在这样的时代背景下,每一秒都有胸怀改变世界之梦的同志发起软件变革,但现实是残忍的,绝大多数变革最终的结局仍是作茧自缚,仅有为数不多的变革能够化茧成蝶,一飞冲天。
那么,到底是什么撑起了这对能够引发飓风的翅膀呢?
“妙言至径,大道至简。” ——《还金述》
这就要从咱对于“人类”这个概念的理解谈起了。
对于自我的探求,恐怕从我们的祖先拥有思考能力的那一刹那就已经开始,而在近代,更是为此特化了一门名为“人类学”的学科。不妨先来看看教科书上是怎么写的:
能够使用语言、具有复杂的社会组织与科技发展的生物,尤其是他们能够建立团体与机构来达到互相支持与协助的目的。
很标准,但咱并不喜欢这种拗口又死板的定义,咱认为,应该再简化下,“地球上的一种生物”,仅此而已。
独拥智慧果实?早已有科学证明,猩猩也能达到人类幼体的智慧水平。
唯一社会体系?楼下蚂蚁第一个不服。
丰富情感能力?解释下你家宠物。
以上内容仅为调侃,请勿当真 XD
那么仅作为一个生物而谈,根据现有的理论共识,生物个体具有不可抗拒的生存本能,在此基础上,生物群体为了与概率抗争,演化出了扩张的本能。也就是群体会无限制追求更大的种群基数、更广的领地。
作为万物之灵,人类在这方面可谓是再典型不过,不是吗?
扩张的本能是无限的,但现实中当前人类所接触的一切都是有限的。面对无限与有限的矛盾,人类通过利用自己的特长,也就是高等智慧,很快就发现了“效率”的概念:
那么为了追求无限大的扩张,人类就需要首先达到无限大的效率。而从等式不难看出,效率增长需要更高的产出和更低的投入。以批判式的用词对应到现实中人类的品质,其实也就是“贪婪”与“懒惰”。
或许是因为人类集体意识中自我否定的一面,在寻找合适的词语去描述人类的本质时,总是会归根于类似“七宗罪”的用词。但需要强调的是,咱也不想使用这种高度贬义的词汇,因为咱并不认为这种本质是负面的。
有了以上的展开,我们就可以继续对于“简”的讨论了。