如今C++在非底層環境下還有多少地位?
01-28
就是比如用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++中有哪些設計精良的部分(精華),還有哪些是不值得花費很多時間探究的知識點?