-
1 # 一品大學識
-
2 # 哼哼online
C++不流行,不代表C++有毛病。C++誕生的那個年代,沒有啥行業普遍認可的第一牛的程式語言,他的對手是Pascal語言為基礎的Delphi,Pascal很多人不喜歡,語法嚴謹,型別檢查太嚴格,限制了程式設計人員的發揮,反正開發人員不是很喜歡,當然喜歡的還是非常喜歡的。而C++是空前複雜的程式語言,從面向過程,語法簡單的C語言,一下子轉到基本語法一致,但更加靈活多變的C++,一下子掌握有些難度,特別是C++的記憶體滲漏是所有程式設計人員的夢魘,明知道記憶體漏了,卻找不到哪裡漏。其實現在的C++已經進化了,比如目前用的較多的Qt,提供了很多類庫,簡化了程式設計的複雜性,而類庫是經過嚴格測試的,所有C++的漏斗也就被修補的差不多了。
Java主導商業業務的開發很多年了,積累了很多的應用框架和優秀的開發工程師,那麼作為一個新專案自然選擇java是最佳的,風險小、開發週期短。
Python上手教容易,但是大型的專案開發可能積累不夠,光一個簡單、容易使用肯定不是大專案的選擇。
另外,網際網路發展的下一階段是物聯網、工業4.0,什麼傢俱、工業裝置、一切都是潛在的聯網物件,網際網路是人對網路,物聯網是物對網路,不是所有的“物”都適合java的,很多時候需要很小規模的嵌入式計算機,於是java跑不動,python用不上,那麼只能回頭用比較低階C/C++,小裝置,像微控制器,小arm板記憶體小的KB級,大的MB級,怎麼java啊,所以C++還是有前途的。特別是Qt可以誇平臺,流行的作業系統都能用,你說這時的java工程師和C++工程師哪個機會更多?
最後,物聯網和網際網路不同,物聯網的多樣性將需要更多的開發工程師,軟硬體都需要。
-
3 # 石玉存
對於這個問題對一個學中醫的人來說很眼生,中醫詞典裡面沒有,我己經很遠離了,一看到英文字母就頭疼,只認識漢字。
-
4 # 編碼之道
作為一個工作多年,並且長期使用C++作為主要開發語言的軟體工程師,來聊一聊我對這個問題的看法。
首先說明下我認同這樣的觀點,特別是對非職業程式設計師,為什麼這麼說呢?生命苦短啊!
C++在誕生之初相比於同時代的程式語言,因為能很好的支援面向物件程式設計,所以受到了很多工程師的追捧,然而隨著技術的不斷進步,很多更先進的面向物件程式語言隨之誕生,比如典型的Java、C#、Python等語言,為了增加對新技術的支援,C++也在不斷的新增新特性,標準也從C++03,一路進化到C++11、C++14、C++17,今年更是推出了C++20。這些新標準的推出,表面上看豐富了語言的功能,但是卻有一個巨大的副作用,那就是增加了語言的複雜性,使得學習C++語言變的更加困難。還有模板、多重繼承、智慧指標等技術,學起來不容易,用的地方卻有限,就好比一塊雞肋,讓學習者很困惑。
此外,C++作為一門面向物件語言,卻沒有一個很好的UI庫,包括以前的MFC,以及近幾年比較流行的QT,雖然可以進行UI開發,但是從技術上相比C#和Java來說,還是相對落後一些,開發效率也較低。
透過上面的說明,似乎C++一無是處,但是……呵呵,但是後面往往跟著更有趣的內容。
C++雖然有諸多不足,但是它卻有一個最大的優勢,那就是速度,相比C#、Java、Python等語言來說,實現同樣功能的程式碼,C++的執行速度要高出很多。所以,在一些對效能要求更高的需求,開發語言往往會選擇C++,比如作業系統,底層的通用庫,伺服器開發,多媒體開發等,更極端的情況會使用C語言。
綜上,對於一般的程式設計愛好者來說,如果不準備以程式設計為職業,只是興趣愛好,那麼正如他們所說的“珍惜生命,遠離C++”。如果準備以程式設計為職業,而且是那種對效能有著極度追求人來說,C++依然是一門不錯的語言,只是需要付出比學習其它語言更多的努力,當然也有好處,一旦掌握了C++,相當於也學會了C語言,此外,以後學習C#、Java、Python等語言將會變得很容易!
-
5 # 噴子來啦好熱鬧
c++,不建議使用高階特性,就使用簡單的類,虛基類(介面),繼承,運算子過載,模板等基本功能,其它高深特性不建議去玩,坑太多,寫出的程式碼不夠清晰易懂,程式碼交接時下個程式設計師接手需要更多的時間去弄懂原始碼,修改易出錯!
回覆列表
其實這是一種誤解,因為精通一門程式語言本身就不容易。
在今年九月Tiobe釋出的程式語言排行榜中,c++語言排在C、Java和Python之後,位列第四。
作為一種面向物件程式設計,c++自從在貝爾實驗室被髮明出來(改良)就風靡程式界。因為它不僅繼承了C語言的優點還對其進行了擴充。但是要想精通c++並不是一件容易的事,尤其對於從未接觸程式語言的小白而言在短時間學會並應用c++除了需要付出大量的時間精力之外還需要一定的悟性與理解力。
以在大學經歷為例,很多人從開學開始學習最簡單的程式語法到最後期末考試結束都僅僅只是學了一些皮毛,更談不上獨立的應用。語言知識相對來說是比較容易理解的,但是能融會貫通卻是不容易的。所以一個資深的程式設計師在前期一定付出了很大的成本來學習,所以人們自然而然就將程式設計師脫髮與工作專業特徵聯絡起來,認為程式設計這東西"消耗生命",當然這和程式設計師經常加班熬夜也不無關係。
不可否認的是,需要應用程式設計的專業都是當下比較吃香的專業,像軟體工程、計算機科學與技術、資訊工程等專業常年霸佔大學專業薪酬排行榜的前幾名。所以即使對很多人來講程式語言並不好學,但仍然不妨礙程式設計類專業是大學專業的首選。