C語言是面向過程的曹质,而C++是面向?qū)ο蟮?/p>
C和C++的區(qū)別:
C是一個結(jié)構(gòu)化語言演闭,它的重點在于算法和數(shù)據(jù)結(jié)構(gòu)肤晓。C程序的設(shè)計首要考慮的是如何通過一個過程耀盗,對輸入(或環(huán)境條件)進行運算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)。
C++房匆,首要考慮的是如何構(gòu)造一個對象模型耸成,讓這個模型能夠契合與之對應(yīng)的問題域,這樣就可以通過獲取對象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制浴鸿。 所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣井氢。之所以說C++比C更先進,是因為“ 設(shè)計這個概念已經(jīng)被融入到C++之中 ”岳链。
C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣毙沾。之所以說C++比C更先進,是因為“ 設(shè)計這個概念已經(jīng)被融入到C++之中 ”宠页,而就語言本身而言左胞,在C中更多的是算法的概念。那么是不是C就不重要了举户,錯烤宙!算法是程序設(shè)計的基礎(chǔ),好的設(shè)計如果沒有好的算法俭嘁,一樣不行躺枕。而且,“C加上好的設(shè)計”也能寫出非常好的東西供填。
小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 六九九拐云,四七零,五九六 】近她,無論你是大牛還是小白叉瘩,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具粘捎,很多干貨和技術(shù)資料分享薇缅!
C/C++的未來在哪里?沒有哪個語言會成為永恒。為什么作者不希望C/C++在2017年攒磨,或者甚至在2057年也依然那么有活力泳桦。C++在性能方面最大的威脅可能來自硬件,因為通過C++現(xiàn)在提供的內(nèi)存模型還不容易對其進行相應(yīng)的編程工作娩缰。
Stephan Lavavej提出了一個非常有趣也很尖銳的問題:“C/C++的未來在哪里?”
這個問題是有解的灸撰。沒有哪個語言會成為永恒,不是嗎?(盡管C語言現(xiàn)在依舊生機勃勃)我不希望C/C++在2017年,或者甚至在2057年也依然那么有活力浮毯。在計算機行業(yè)完疫,50年已經(jīng)是一個幾乎不可思議的時間了;雖然到07年為止,晶體管已有60年的歷史亲轨。所以趋惨,在我問“C/C++的未來在哪里?”這個問題的時候鸟顺,實際上是想問在接下來的10年惦蚊,20年或者30年,C/C++會有什么變化?
在文章中讯嫂,Stephan引經(jīng)據(jù)典蹦锋,提到了Bjarne Stroustrup發(fā)布的一篇關(guān)于C/C++的論文,和Alexander Stepanov關(guān)于C/C++底層機器模型的訪談欧芽。
然后他指出莉掂,盡管C/C++作為一門語言一直關(guān)注性能的問題,但根據(jù)Herb Sutter在2005年發(fā)表的一篇關(guān)于并發(fā)的趨勢以及語言必須演進以迎接這些挑戰(zhàn)的論文千扔,由于工藝的限制憎妙,底層硬件的發(fā)展現(xiàn)在處于一個不穩(wěn)定的狀態(tài)。Stephan說:
在C/C++改變最大的核心語言屬性列表中曲楚,應(yīng)該包括可變參數(shù)模板(Variadic Template)厘唾、概念和左值引用(rvalue reference)等。前兩個會使得寫模板更加有趣龙誊,這當然很好抚垃,因為模板是生產(chǎn)高效代碼的一個很有力的方法。另外趟大,第三個主要面向C/C++03中最為薄弱的領(lǐng)域之一——復(fù)制數(shù)值的趨勢鹤树。
一個叫Jared的評論者也同意Stephan的觀點,但對.NET能否像C/C++那么長盛不衰逊朽,沒有太大的信心:
小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 六九九罕伯,四七零,五九六 】叽讳,無論你是大牛還是小白捣炬,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具绽榛,很多干貨和技術(shù)資料分享湿酸!
說得好,但是我相信C/C++會一直興盛到2057年灭美。實際上我認為C/C++會比.NET撐得更久推溃。(我認為.NET最終會因為市場驅(qū)動而成為一個技術(shù)實體,但不好說)
Jim Grow不同意關(guān)于托管C/C++沒有像其他.NET語言引起別人注意的論點:
看上去C/C++將會被打入冷宮届腐,只有幾個頑固不化的分子堅守陣地铁坎,大部分人都已轉(zhuǎn)投.NET編碼陣營蜂奸。因為C/C++和現(xiàn)代的工具集那么地不合拍,公司和開發(fā)人員在無路可走的時候才會選擇它硬萍。真的好慘扩所,C/C++本來可以是.NET平臺上的一個非常優(yōu)秀的語言∑庸裕可悲地是祖屏,有些人卻別有動機,說.NET開發(fā)人員都在使用其他的語言买羞。
Olivier Giroux擔(dān)憂的是C/C++內(nèi)存模型在未來的表現(xiàn):
在單個芯片里同時運行100多個線程的性能袁勺,和只運行2到8個的情況是非常不同的,盡管你知道將來的趨勢是可以做到的畜普。
因為有足夠多的線程同時運行期丰,指令就非常充足,你可以將已有的指令全都塞滿吃挑。很快钝荡,阿姆達爾定律(譯者注:該定律指出在體系結(jié)構(gòu)的優(yōu)化設(shè)計過程中,應(yīng)該挑選對整體有重大影響的部件來進行優(yōu)化舶衬,以得到更好的結(jié)果埠通。)就把你牢牢拴在內(nèi)存接口處。在過去约炎,我們用緩存設(shè)計解決這樣的問題植阴,但那要比一個超線程負載需要更多的分部一致性。
小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 六九九圾浅,四七零掠手,五九六 】,無論你是大牛還是小白狸捕,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)喷鸽!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享灸拍!
所以做祝,C/C++在性能方面最大的威脅可能來自硬件,因為通過C/C++現(xiàn)在提供的內(nèi)存模型還不容易對其進行相應(yīng)的編程工作鸡岗。
那么混槐,您對于C/C++作為一門語言的前景是如何理解的呢?它是會繼續(xù)昂首上前,還是即將輝煌不再?
這些是C/C++能做的
服務(wù)器開發(fā)工程師轩性、人工智能声登、云計算工程師、信息安全(黑客反黑客)、大數(shù)據(jù) 悯嗓、數(shù)據(jù)平臺件舵、嵌入式工程師、流媒體服務(wù)器脯厨、數(shù)據(jù)控解铅祸、圖像處理、音頻視頻開發(fā)工程師合武、游戲服務(wù)器临梗、分布式系統(tǒng)、游戲輔助等