是時候改變一下了

  當摩爾定律不在那麼有效的時候, 我們是依然靜觀其變,還是努力的尋找解決辦法? 多數人當然會說後者, 可實際上絕大部分還是安分守己的選擇前者, 不光是傳統的編程思想易學, 更重要的還是考慮成本的問題, 多數公司不太希望在創新上浪費太多的錢, 更多的願意選擇使用經過別人發佈測試好的程序. 在工程上來講這確實可取, 畢竟可靠穩定是第一因素, 其次纔是性能. 不過時代確實改變了..... 處理器的發展速度朝着截然不同的方向前進, 鴕鳥算法不再適用的時代, 爲什麼還有這麼多人爭先恐後的爭當鴕鳥.... 確實讓我很不解.... .....

 

  話說, 今天頭疼... 可能是忽冷忽熱的地鐵讓我很不適應... 這兩天研究並改進一套算法, 雖然有些地方還沒能自己實現下, 但好在的是思路更加開闊了.... 有時候看到一個人每天寫了好幾百行甚至上千行程序.... 暫且不說質量如何... 我是真的不敢恭維這樣的速度.... 估計他要花上數週的時間來重構幾次.... 最終下來的程序或許只有100行不到.... 多核時代帶給我們的不僅僅是挑戰,也是機遇... 將舊有的程序改成高性能的並行程序並非一件易事, 這需要一個人的知識儲備量達到一定數量級才能做到... 不過編寫一個穩定程序的難度要遠高於編寫一個高性能的程序.... 這中間又涉及到很多取捨問題....


  一個優秀的程序員可以做到在恰當的場合使用恰當的語言, 而非對一門語言有過於嚴重的依賴.有些公司使用C/C++這類編譯型語言來寫邏輯, 當然並不是說這樣不可以, 對於追求極致性能的產品還是可以的, 但如果產品追求的更高的穩定性,更強的容錯性, 再用這類語言只會讓你每天忙於各種BUG的修復.... 通常這類BUG都是可以導致程序掛掉的.... 因爲並沒有辦法阻止程序員犯錯... (人都會犯錯... 包括大牛們). 這時候腳本語言這種簡單易學,容錯性高的語言就可以很好的派上用場了.更適合做服務器和客戶端的邏輯層開發. 對於一些長久不變且對性能有嚴格要求的地方,比如服務器引擎,客戶端引擎這類的框架通常還是C/C++配合適當的彙編來完成更加合適.


  同樣一段程序,可能每個程序員的實現都或多或少會有不同,但真正能寫出優美代碼的人畢竟還是少數, 這樣的程序融合了大師級的設計思想,無論從程序結構上,穩定性, 效率等方面都是優異的, 或許你現在還對此並不在意, 當你維護一個讓你每天都崩潰無數次的程序時, 或許你會翻然醒悟優美代碼的好處 :) 編寫那樣的代碼絕對不是在浪費時間....


  希望有一天,我能帶給大家的不僅僅是啓示,而是深思....

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章