標籤:

如今C++在非底層環境下還有多少地位?

就是比如用C++寫桌面應用,網路,遊戲等方面還有多大的市場?


遊戲方面還是C++的天下吧。Unity本身是C++,UE4連腳本都是C++,還有CE,Frostbite,等。


其實這個問題很不嚴謹,非底層是一個非常模糊的概念,不同的人定義不一樣。什麼叫非底層?

這裡就存在著一個非常基本的理解問題。假如編程分底層和高層,只使用底層的自然不是非底層,只使用高層的自然是,那高層和底層一起用的到底算不算非底層呢?

很不巧,C++就是那個底層和高層一起用的語言。

使用C++的最大門檻是工期寬鬆,而不是什麼底層非底層。大型遊戲之所以能用C++開發,不是因為什麼技術原因,而是因為在這個浮躁的時代里,遊戲是為數不多的仍能被稱為藝術的東西了。

所以我給你提供一個思路,你仔細想一想,你用的「非底層」玩意裡面,有幾個是生命周期已經或者你確信能活過五年的,然後看一看它們用的語言,馬上你就能找到一大堆C++項目。


取決於你說什麼是底層

所有對內存控制要求非常高的東西還是需要C++做,特別是處理數據的核心演算法方面

比如各種圖像處理和音頻處理等等

當然話說回來,那些東西其實更多情況下是物理和數學專業研究的範疇。所以這個意義上,純粹軟體工程而言,C++基本是沒地位了。


C/C++在圖像聲音處理,遊戲,視頻編解碼,通信服務,硬體驅動,安全防禦等相關領域應用還是蠻廣的。偏向底層或性能的地方目前至少離不開C/C++。


計算機視覺領域都是c++吧....


桌面軟體基本都是,比如大家熟悉的QQ,金山WPS之類的


up主都已經說明非底層了,c++在非底層幾乎沒什麼地位了,c++黨不要再垂死掙扎了(我也是名c++黨)。桌面c#,android java,iOS oc swift。起碼在GUI上幾乎沒什麼地位了,因為現在需要快速開發。但是尖端的技術一般還是需要c++的。比如VR這類的。現在賺錢的項目幾乎都快沒c++的影子了,手游,應用。樓上說的wps啦,qq啦,都是以前遺留下來的項目,現在新項目肯定不會用它的,要不就是為了跨平台用Qt這類的庫可能會用c++,但是你要清楚,c++適應不了快速開發的節奏,非底層就是要快速開發,接下來就懂了。


遊戲,微信後台,QQ後台等等……

當然,現在做開發可以有的選擇太多了——Java,Go,還有一大堆動態腳本語言。

如果不是因為歷史原因或者其他一些限制,C++對非底層應用的開發確實不是一個特別好的選擇。


推薦閱讀:

為什麼非指針對象不能使用const成員函數?
迭代器尾後元素的設計是出於什麼意圖?
關於C++中的override?
C++中有哪些設計精良的部分(精華),還有哪些是不值得花費很多時間探究的知識點?

TAG:C | C標準 | C11 |