最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

六星云課堂:C++ 20發(fā)布后,又重獲程序員青睞了!

2022-06-17 09:14 作者:六星云課堂  | 我要投稿

1979年,C++之父 Bjarne Stroustrup 在偶然的機(jī)會(huì)中發(fā)現(xiàn):要想開(kāi)發(fā)大型軟件且它能夠高效運(yùn)行,需要一個(gè)具有靈活和可拓展類(lèi)型系統(tǒng)的編程語(yǔ)言。在當(dāng)時(shí),Simula語(yǔ)言的類(lèi)、類(lèi)層次結(jié)構(gòu)和強(qiáng)靜態(tài)類(lèi)型檢查是組織代碼和管理復(fù)雜性的主要手段,而B(niǎo)CPL(C語(yǔ)言的祖先)的跨平臺(tái)移植性很好。于是,Bjarne Stroustrup 產(chǎn)生了把二者特性結(jié)合起來(lái)的想法,因此C++在貝爾實(shí)驗(yàn)室誕生了。

C++是一門(mén)集面向過(guò)程、面向?qū)ο?、函?shù)式、泛型和元編程等多種編程范式于一身的復(fù)雜編程語(yǔ)言。青出于藍(lán)而勝于藍(lán),除了具有C語(yǔ)言的所有特性之外,C++還有包括類(lèi)、基本繼承、內(nèi)聯(lián)、默認(rèn)函數(shù)參數(shù)和強(qiáng)類(lèi)型檢查等重要功能。

1998年,已經(jīng)廣泛應(yīng)用于軟件開(kāi)發(fā)行業(yè)的C++終于發(fā)布了第一個(gè)國(guó)際標(biāo)準(zhǔn)ISO/IEC 14882:1998,從此C++在編程領(lǐng)域勢(shì)如破竹。

— 01 —

桌面時(shí)代的王者

20世紀(jì)80年代,計(jì)算機(jī)行業(yè)和硬件密不可分,整個(gè)編程界幾乎被C和C++占據(jù)。C++既有面向?qū)ο蟮膬?yōu)勢(shì),又有與C語(yǔ)言不相上下的效率,因此在很多高性能的系統(tǒng)級(jí)軟件、圖形圖像軟件、桌面應(yīng)用中都有它的身影。

在當(dāng)時(shí),編程語(yǔ)言并不多,C++憑著運(yùn)行效率高的優(yōu)勢(shì)與C語(yǔ)言一起成為服務(wù)端軟件。但C++并不僅限于底層的開(kāi)發(fā),因?yàn)橛忻嫦驅(qū)ο蟮膬?yōu)勢(shì),C++在圖形視覺(jué)領(lǐng)域也頗受歡迎。同時(shí),隨著操作系統(tǒng)的廣泛應(yīng)用,基于桌面級(jí)別的軟件基本都是采用C/C++開(kāi)發(fā)的。

— 02 —后生可畏

到了20世紀(jì)90年代初,工業(yè)領(lǐng)域的開(kāi)發(fā)進(jìn)入成熟期,計(jì)算機(jī)行業(yè)進(jìn)入了互聯(lián)網(wǎng)的Web時(shí)代,C++在編程語(yǔ)言領(lǐng)域中的領(lǐng)土逐漸被其他新興的語(yǔ)言侵占。

首先是電子商務(wù)和社交網(wǎng)站的興起,讓Java迅速成為編程界的新秀,直至今日依舊常居編程語(yǔ)言排行榜第一位。

看到Java發(fā)展勢(shì)頭迅猛,微軟也不甘落后,開(kāi)發(fā)的.NET開(kāi)發(fā)出來(lái)后,背靠Windows系統(tǒng)而穩(wěn)步發(fā)展。那個(gè)時(shí)候的計(jì)算機(jī)行業(yè)就像一方沃土,即便有C/C++和Java無(wú)比強(qiáng)悍的編程語(yǔ)言存在,占據(jù)著很大的市場(chǎng)份額,但是像PHP、C#等這樣的新興編程語(yǔ)言依舊可以在這個(gè)行業(yè)中找到一席之地。

Web時(shí)代要求更高的靈活性,C++沒(méi)有跟上。而伴隨著互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)的“春雨”,一系列優(yōu)秀的編程語(yǔ)言春筍般不斷涌現(xiàn),諸如PHP、C#、Ruby、Python等編程語(yǔ)言也逐漸成為程序員們的首選語(yǔ)言。C語(yǔ)言和C++的市場(chǎng)份額被這些新秀語(yǔ)言逐步擠壓。

— 03 —復(fù)興之路

近年來(lái),局勢(shì)有所扭轉(zhuǎn)。在大型游戲、工業(yè)機(jī)器人、智能裝備等領(lǐng)域高速發(fā)展的時(shí)代,C++語(yǔ)言憑借著強(qiáng)大的設(shè)計(jì)能力和穩(wěn)定的運(yùn)行性能,在這些領(lǐng)域擁有了不可替代的優(yōu)勢(shì)。

從最近的編程語(yǔ)言排行榜來(lái)看,C++的排名正在不斷提高,僅次于Java、C和Python。這個(gè)已經(jīng)40多歲的老牌編程語(yǔ)言又將迎來(lái)新的轉(zhuǎn)機(jī)。

2020年9月份,C++20國(guó)際標(biāo)準(zhǔn)草案獲得一致通過(guò),ISO C++20新標(biāo)準(zhǔn)在翹首期待中終于塵埃落定。

C++之父 Bjarne Stroustrup 表示:“C++ 20是自C++11以來(lái)最大的發(fā)行版,它將是C++發(fā)展史上的里程碑?!睒I(yè)界都相信C++ 20必將為系統(tǒng)級(jí)軟件的開(kāi)發(fā)、構(gòu)建、設(shè)計(jì)帶來(lái)深遠(yuǎn)的影響。

— 04 —C++的學(xué)習(xí)之道

和C語(yǔ)言相比,C++繼承了C語(yǔ)言所有的語(yǔ)法和庫(kù)函數(shù),同時(shí)為了提高語(yǔ)言的封裝、繼承和多態(tài),C++引入了類(lèi)的概念。

從應(yīng)用角度來(lái)看,C++多用于開(kāi)發(fā)各種后臺(tái)使用的算法和邏輯庫(kù)。而C語(yǔ)言則更底層,主要用于開(kāi)發(fā)更核心的算法、驅(qū)動(dòng)程序和控制程序等。

不過(guò),C和C++的學(xué)習(xí)路徑大體相同,可以簡(jiǎn)單分為五大類(lèi):算法和數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο笏枷?、基本語(yǔ)言知識(shí)、產(chǎn)品開(kāi)發(fā)、與其他語(yǔ)言混合開(kāi)發(fā)。在這個(gè)分類(lèi)之下還有一些更細(xì)致的內(nèi)容,如圖所示:

C/C++是更快、更底層的語(yǔ)言,要想高效使用C/C++語(yǔ)言,還需要掌握更多的算法和數(shù)據(jù)結(jié)構(gòu)的知識(shí),以及操作系統(tǒng)和多線程的知識(shí)。尤其是操作系統(tǒng)的知識(shí),因?yàn)槌绦蜃罱K要運(yùn)行在操作系統(tǒng)上。例如,如何讀取一個(gè)文件的時(shí)間屬性,如何讀取鍵盤(pán)的特定鍵,如何建立一個(gè)目錄等,這些都與程序運(yùn)行的平臺(tái)(操作系統(tǒng)) 有緊密的關(guān)系。

對(duì)這些知識(shí)了解得越多,就越能編寫(xiě)出高效、簡(jiǎn)潔的C/C++語(yǔ)言程序。如果要編寫(xiě)一個(gè)大規(guī)模的程序,還需要具備設(shè)計(jì)模式的知識(shí)。

除此之外,大中型的程序一般都是混合利用多種語(yǔ)言來(lái)開(kāi)發(fā)的。這樣就可以充分發(fā)揮各種語(yǔ)言的優(yōu)點(diǎn)。例如,為了得到更好的界面,一般都會(huì)采用C#和Java進(jìn)行開(kāi)發(fā),而核心的算法和靠近硬件的部分則需要采用C/C++語(yǔ)言編寫(xiě)。

要想真正融會(huì)貫通,一定要知道一些C++與其他語(yǔ)言混合開(kāi)發(fā)的知識(shí),例如C++/CLI, 或者是COM組件的知識(shí)。

C++的強(qiáng)大是眾所周知的,但也是出了名的難學(xué)。能夠給開(kāi)發(fā)者極高自由度的編程語(yǔ)言,學(xué)習(xí)門(mén)檻往往也不低。

以上就是本次分享的全部?jī)?nèi)容,想學(xué)習(xí)更多C++技巧,歡迎持續(xù)關(guān)注六星云課堂!


六星云課堂:C++ 20發(fā)布后,又重獲程序員青睞了!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永吉县| 焦作市| 云林县| 梅州市| 贵州省| 台中市| 邯郸县| 五峰| 博野县| 手游| 博湖县| 固原市| 土默特右旗| 柳林县| 淮滨县| 泗阳县| 富川| 平南县| 师宗县| 大悟县| 独山县| 米林县| 镇平县| 景东| 衡南县| 鄂托克旗| 明溪县| 宿州市| 木兰县| 凉城县| 老河口市| 八宿县| 珲春市| 辛集市| 凌云县| 遂宁市| 吉木萨尔县| 登封市| 太原市| 高密市| 财经|