關於技術趨勢,寫給奮鬥中的程式設計師們

codebay發表於2017-07-26

作者:張尋Van

硬體

計算機CPU在09年左右就在效能上沒有太大進步,幾近物理極限;

在CPU停止進步的時候,機械硬碟儲存空間從百G變成了百T,儲存變得足夠大足夠便宜;

固態硬碟的使用在速度上快了十倍以上;

網路從3G到4G再到5G;

手機端CPU在效能和省電之間做了很多處理,電池容量緩慢增加;目前還是鋰電為主;

CPU的閒置率還是很大,CPU和IO的速度還有很大鴻溝;

手機從拼CPU,拼厚度,拼省電,拼攝像頭到拼營銷,移動時代即將結束。

程式語言

在計算機效能足夠快的時候,語言本身大部分情況下不再是效能瓶頸,服務端普遍的效能瓶頸在IO;

語言本身更以人為本。更注重開發效率,學習成本和團隊協作,Python的學習門檻低,程式碼整潔,開發高效,利於團隊協作;JS是全棧開發首選,適合Web專案開發,並且JS事件驅動非同步語言的特點在效能上完爆其他語言,可以讓CPU跑滿,但是JS的不可愛之處也很傷人,目前語言本身還在不斷完善發展,學起來很費腦。但是ES7以後JS語言應該趨於穩定,目前恰是JS全棧的最好時機;

多數語言都已支援協程,當只有GO語言在語言層面支援協程,高效能,高開發效率,低學習門檻,被雲產品團隊廣泛使用;

Java是很多公司一直使用的語言,擁有最多的開發者,可以做後端服務和Android。但是一旦你使用過Python這樣的語言,你將很有可能與Java將行漸遠,Java的市場會不斷的被其他語言侵蝕;建議技術開發新人慎入Java開發;

PHP這門世界上最好的語言,註定走向衰亡(純屬個人偏見);

雲和大資料

單個計算機運算效能不在進步,就通過多個計算機合作運算來提高效能,就是分散式;

足夠強大的運算效能,足夠大並且便宜的儲存,促使公司去更多的挖掘資料間的關係,就有了大資料;

技術會不斷的從已有技術方案裡提煉共通的解決方案,技術傾向一勞永逸的解決方法,所以大量的雲平臺和雲服務出現;

能用雲解決的問題,儘量不要自己創造輪子去解決;

人工智慧

在移動網際網路時代,我們一直在生產幾個非常重要的資料,LBS位置,圖片和語音,人類嘗試讓機器去理解這些資料,雲的龐大運算效能基礎加上機器學習等演算法模型讓這一切變得可能;

人工智慧時代人和機器的溝通會更加自然。

人工智慧時代整服務將從IO密集型轉向CPU密集行運算,GPU更適合人工智慧時代的矩陣運算。並且更適合人工智慧時代的CPU及晶片在研發;

人工智慧時代的技術開發是影像識別和音訊識別以及資料處理;

相關文章