为什么没有银弹?因为CPU不能再快下去了

系统 1540 0

摩尔定律失效了,CPU不能再快下去了。最痛苦的应该是程序员。

2000年左右的那些时间真是程序员的黄金时代。每半年CPU的速度就翻番,半年前效率还那么不现实的算法,半年后就能应用了。

那些年sun以为java可以统治移动设备,因为每半年速度翻番的cpu会让大家不再在意那点虚拟机的消耗。但是现实是那么残酷,如今cpu频率止步不前,java在移动设备上的效率依然被人诟病,而sun已经成了历史。

硬件厂商们无法再在速度上做文章,转向了多核。

但程序还得继续写下去,用户需要越来越高的pv,越来越多的数据,越来越炫的界面。但是cpu不能再快下去了,程序员之能转而求助于多核心,协同处理。而异步程序的处理只会让编程更加困难,项目更加复杂。

以前只会c\c++,以为它们足够高效,足够复杂,足以构建出整个世界。但是真正做项目以后才发现静态语言、OO在现实的复杂度面前是多么的苍白无力。

直到看到了lua,python这样的动态语言,才发现原来银弹是有的,只不过太慢。

OO不过是晚绑定和高效率的不得已妥协,妥协的结果是高耦合的继承体系。在一个怪物的继承体系中增添一个会飞的怪物,你就需要在整个体系中加上一个virtual bool CanFly()。这太蹩脚了。

真正理想的泛型是彻底的晚绑定:

      obj = new Object;

obj.life = 100

if(obj.life)

    print "obj is a creature."



obj.fly = fly()

if(obj.life && obj.fly())

    print "obj is a bird."


    

这样的语言里根本就不需要OO。但是彻底的玩绑定不够快啊,python不够,C#的反射也不够。所以我们还是得OO,还是得delete。

为什么没有银弹?因为CPU不能再快下去了。量子计算或者别的什么足够快的东西快来拯救程序员们吧!

为什么没有银弹?因为CPU不能再快下去了


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论