计算机计算变化快吗?
先说结论:计算机技术更新并不快,技术本身更新是很小很小的。真正变化快的是:“轮子”,也就是框架,比如Java使用的一些框架,特别是近些年前端框架,简直犹如雨后春笋般的冒出来,你要学的话,是学不完的,每年都层出不穷,如果我们去追这些,永远都没有尽头,还让你感觉技术更新非常快的错觉。
真正到底层的技术,近几十年更新变化是非常非常小的。下面我们举例几个例子:
1、存储框架:Hbase、Cassandra 这些NoSQL数据库,他们的核心数据结构是LSM,来自论文:The Log-Structured Merge-Tree (LSM-Tree),我们学习这些框架之前,就可以容易的得出一个结论,这些框架写的性能肯定会很高,但是肯定无法做复杂的范围查找和事务性操作。反之,只要用了B+树这些存储结构,注定更新删除更加消耗性能。
更多阅读:HBase、Cassandra、LevelDB、RocksDB底层数据结构是什么?
2、定时任务,目前市面上成熟的开源框架基本都是使用了时间轮算法(TimingWheel),来自:Hashed and Hierarchical Timing Wheels 论文,论文的发布的时间是1987年。如果没有使用,基本上无法支持大规模的任务调度。
更多阅读:时间轮(TimingWheel)算法总结
3、元宇宙,区块链,其实都是些老掉牙的技术。比如加密算法,Hash算法。都是很早以前的技术。
4、业务代码,做业务开发其实很少直接使用上述这些底层技术,最多也就写写排序算法,这些也都是几十年前的算法。
我们现在认为技术更新得快,更多是工程领域的一些整合,而不是新技术的迭代。看到的都是“屎上雕花”,重复发明“轮子”而已
所以,真正的计算机技术更新其实不大,作为一名程序员,如果想长期干下去,我们首先得学习这些内功,这也是马斯克所提倡的第一性原理,要先了解事物的本质,而不是追求表面的变化。掌握了底层原理,上层再怎么变化,也是在底层所画定的圈圈里面转。这样,我们去学习、使用和掌握一个新的框架就很容易上手,所花的时间和精力会大大降低。
关于淘汰
随着你工作年限的增加,你的薪资、身体素质都不如年轻人更具性价比。如果你技术一般,身体又吃不消996,又有什么理由不被淘汰呢?
在我看来,淘汰分两种:
被动淘汰
在公司没有核心竞争力,又具备可替代性,这就很容易被淘汰。核心竞争力表现在很多方面,例如:技术能力、管理能力,业务能力。简单一句话,就是老板把你开了,对公司会有影响,可能不是很大的影响,但是留着总比重新招一个人更好。
主动淘汰
技术能力 | 管理能力 | 业务能力都在线,但是身体不行,扛不住无休止的加班。
最后
在技术面前,现实总是残酷的,试想一下,如果你对技术感兴趣,认真学习技术,然后每天上班八小时,没有PUA,写写代码,工作到60岁对大部分人来说,问题应该不大。
想想现在农村那些重体力的劳动者,很多的瓦匠,木匠,散工都60多了还在工作,程序员肯定没有他们辛苦吧?不是技术更新太快使你淘汰,是现实。
往期阅读
云原生之可观测性-OpenTracing、OpenSensus、OpenTelemetry
大厂“断子绝孙式”、“养蛊式”招聘有多害人?
HBase、Cassandra、LevelDB、RocksDB 相关数据结构是什么?
快乐程序员、读书狂魔、爱撸代码、开源项目、硬核互联网技术分享
觉得写得不错,请点在看,谢谢!