C++ 是 2012 年不宜進入的技術點嗎?
01-07
問題來自賴勇浩的博客(鏈接: http://blog.csdn.net/lanphaday/article/details/7223385), 他認為2012不宜儲備C++技能.
他給出的理由主要是兩方面: 1) 標準和兼容性, 2) 開發效率.我不是特別信服, 特於此請教各位.
」不宜進入「的意思是如果你還在C++門外邊,如果今年想找一門技術(或者一門語言)來學,那麼學C++不見得是個回報高的選擇。如果你已經在C++門裡邊,已經在用C++掙錢吃飯,那麼意味著會少一些人來跟你競爭。進一步說,競爭少不一定是好事,公司有可能換平台或語言,讓你優勢變劣勢。C++目前堅守的陣地:服務端基礎架構(例如淘寶OceanBase是C++寫的),PC客戶端的3D遊戲(DirectX是提供COM/C++介面),某些嵌入式上的(准/軟)實時程序,其他Java/C#/Python未能涉足的領域(會遇到C的抵抗)。如果你正好在這幾個領域,我看不出有擔心的必要。2009 年 Stan Lippman 來華參加祝成科技舉辦的C++技術大會,他表示人們現在還用C++的惟一理由是其性能,Java/C#/Python等等的開發效率都遠高於C++,但C++目前仍然是最快的語言(見 google language benchmark 論文和 http://shootout.alioth.debian.org/)。如果你的應用領域確實在乎這個性能(比方說孟岩提到的「對抗性應用」;又比方說大規模的分散式系統,提高10%的性能就意味著節約10%的機器),那麼 C++ 仍然是不二之選。在現代CPU體系結構下,C++ 的性能優勢很大程度上來自於對 memory layout 的精確控制從而充分利用 memory hierarchy 提速,這一點優勢在近期內不會被基於GC的語言趕上。另一方面,如果關鍵路徑上有 disk IO 或者 database 訪問,那麼 C++ 的性能跟 Java 相比就沒有太大的優勢了。(比方說響應一個請求,Java 實現用 1 毫秒CPU,C++ 實現用 0.5 毫秒 CPU,但是訪問磁碟的代價是 10 毫秒,那麼總的響應時間二者是差不多的。)
2016年嘍
已經在用c++的話,還是要繼續搞下去,其他的python啊ruby啥的,想學都簡單
俺的一點點小小的想法,寫c# 5年了,JAVA短短續續也有4-5年了。 高效開發,c++不怎麼能夠競爭過新起的各種面向性語言。但是如果你會c++,老實說,這些都不是個問題,給3-4個月時間,你可能比很多寫了很久面向性語言的人都厲害. 基本這些語言的內核都是c/c++寫的,知道了祖宗,當然後代你都很熟悉了。另一點前面高人,寫給了很好的答案,在極端追求效率的情況下【比如各種內核程序,需要直接快速的和CPU聊天】..C/C++是必須所以如果你要在把做程序當做一個事業,有空,最好還是看看,學學c/c++,如果,只是追求寫一些快熟的應用,或者前端的網頁什麼的,倒是真不用學...
請搜索c++ FQA (注意q和a的順序)
1. C 是簡單的2. C++是超級複雜的,C++11 標準1K+頁,C++的學習需要很長時間,學到越後面,越覺得自己掌握的少,如TMP(模板元編程)晦澀難懂。真想把C++學好,在學校時就得下苦功。C++不是隨便能掌握的。對於已經工作但不懂C++的,為工作所累,難以有精力去研究掌握。更應該把精力放在怎麼做好產品賺到錢錢上,「C++是門研究性的學科」。
C++非常變態,除非你是Sheldon Lee Cooper這樣逆天的人物,否則花上四年時間也只能算是入門,充其量只是搭個骨架,從C到C++需要積累,其中最複雜的莫過於泛型編程思想,不要以為能寫個模板類就認為泛型編程不過如此而已。仔細看看STL源碼, Boost 源碼, 你就知道泛型編程有多麼的博大精深了。
所以
C++返回的還是C;C++++是語法錯誤;應該是:#C = ++++C &> ++C &> C++C++ 是一門修鍊...............
作為2014年的未來人給你一個忠告:別考公務員!
2017年來答一發。。公司說要把cpp項目重新用java來寫一遍,因為公司里寫java的人多,以後好維護。寫cpp的就兩個,我是其中一個。。哎,當下很憂鬱啊
2015年咯
我覺得我們沒必要咬文嚼字,既然該博客作者解釋了他的「不宜進入」完全不是我們所理解的「不宜進入」,那就隨他去吧。分析語言的發展趨勢就好好分析,非得標題黨……
行行出狀元,就是再掙錢的行業也有掙不到錢的人。任何一個行業都有20%的人掙錢。不管是傳統行業還是新興行業。 不管是合法行業,還是非法行業。
推薦閱讀:
※c++虛函數表在運行時候是如何存在的?
※cocos2dx開發遊戲,如果可以使用C++做出來,是不是不用lua,全用C++做更好呢?
※C++中this指針藏在哪裡?
※一個類有幾個this指針?如果只有一個,那是怎麼區分不同的對象呢?
※C++中的struct?
TAG:C |