摩爾定律失效了,CPU不能再快下去了。最痛苦的應(yīng)該是程序員。
2000年左右的那些時(shí)間真是程序員的黃金時(shí)代。每半年CPU的速度就翻番,半年前效率還那么不現(xiàn)實(shí)的算法,半年后就能應(yīng)用了。
那些年sun以為java可以統(tǒng)治移動(dòng)設(shè)備,因?yàn)槊堪肽晁俣确腸pu會(huì)讓大家不再在意那點(diǎn)虛擬機(jī)的消耗。但是現(xiàn)實(shí)是那么殘酷,如今cpu頻率止步不前,java在移動(dòng)設(shè)備上的效率依然被人詬病,而sun已經(jīng)成了歷史。
硬件廠商們無(wú)法再在速度上做文章,轉(zhuǎn)向了多核。
但程序還得繼續(xù)寫(xiě)下去,用戶需要越來(lái)越高的pv,越來(lái)越多的數(shù)據(jù),越來(lái)越炫的界面。但是cpu不能再快下去了,程序員之能轉(zhuǎn)而求助于多核心,協(xié)同處理。而異步程序的處理只會(huì)讓編程更加困難,項(xiàng)目更加復(fù)雜。
以前只會(huì)c\c++,以為它們足夠高效,足夠復(fù)雜,足以構(gòu)建出整個(gè)世界。但是真正做項(xiàng)目以后才發(fā)現(xiàn)靜態(tài)語(yǔ)言、OO在現(xiàn)實(shí)的復(fù)雜度面前是多么的蒼白無(wú)力。
直到看到了lua,python這樣的動(dòng)態(tài)語(yǔ)言,才發(fā)現(xiàn)原來(lái)銀彈是有的,只不過(guò)太慢。
OO不過(guò)是晚綁定和高效率的不得已妥協(xié),妥協(xié)的結(jié)果是高耦合的繼承體系。在一個(gè)怪物的繼承體系中增添一個(gè)會(huì)飛的怪物,你就需要在整個(gè)體系中加上一個(gè)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."
這樣的語(yǔ)言里根本就不需要OO。但是徹底的玩綁定不夠快啊,python不夠,C#的反射也不夠。所以我們還是得OO,還是得delete。
為什么沒(méi)有銀彈?因?yàn)镃PU不能再快下去了。量子計(jì)算或者別的什么足夠快的東西快來(lái)拯救程序員們吧!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

