91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

40年后C++為何仍然當(dāng)今使用最廣泛的編程語(yǔ)言之一?

Linux愛(ài)好者 ? 來(lái)源:Linux愛(ài)好者 ? 作者:Linux愛(ài)好者 ? 2021-02-15 11:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

強(qiáng)大、靈活、復(fù)雜:C++ 的起源可以追溯到 40 年前,但它仍然是當(dāng)今使用最廣泛的編程語(yǔ)言之一。為了找出原因,TechRepublic 采訪了 C++ 之父 Bjarne Stroustrup。

C++ 的起源可以追溯到 1979 年,那時(shí)編程語(yǔ)言的創(chuàng)造者 Bjarne Stroustrup 第一次開(kāi)始研究 C++ 這門語(yǔ)言,當(dāng)時(shí)被稱為“帶類的 C”(C with Classes)。該語(yǔ)言的設(shè)計(jì)初衷是作為對(duì) C 編程語(yǔ)言的改進(jìn),添加了一些基于面向?qū)ο缶幊痰墓δ堋?/p>

Stroustrup 告訴 TechRepublic 說(shuō):“C++ 的成功顯然令人吃驚。我認(rèn)為 C++ 的成功在于其最初的設(shè)計(jì)目標(biāo):高效地使用硬件,再加上強(qiáng)大的抽象機(jī)制,并在實(shí)際使用反饋的基礎(chǔ)上謹(jǐn)慎地改進(jìn)”。如今,它已經(jīng)成為最受開(kāi)發(fā)人員歡迎的語(yǔ)言之一,支撐著世界各地的系統(tǒng)和服務(wù)。

Stroustrup 解釋道:“我想建立一個(gè)多計(jì)算機(jī)系統(tǒng),它有一個(gè)通信系統(tǒng),既可以是共享內(nèi)存,也可以是網(wǎng)絡(luò)?!?/p>

“我的重點(diǎn)是軟件。我需要編寫接近硬件的低級(jí)代碼,例如內(nèi)存管理器、進(jìn)程調(diào)度器和設(shè)備驅(qū)動(dòng)程序來(lái)分離軟件組件,以便它們能夠在通信方式定義明確的不同計(jì)算機(jī)上運(yùn)行?!?/p>

在那時(shí),還沒(méi)有一種語(yǔ)言能夠勝任這項(xiàng)任務(wù),因此 Stroustrup 致力于構(gòu)建一種語(yǔ)言來(lái)勝任這項(xiàng)任務(wù)。他這樣描述這種語(yǔ)言:“帶類的 C 應(yīng)該結(jié)合了 C 接近硬件工作的能力和類似 Simula 的抽象和代碼組織能力?!?/p>

從相當(dāng)早的時(shí)候起,Stroustrup 就認(rèn)識(shí)到,他不能在控制語(yǔ)言方面實(shí)行“專制”。盡管早期 C++ 的工作僅僅涉及到他和貝爾實(shí)驗(yàn)室(Bell Labs)的幾個(gè)同事,但當(dāng) C++ 語(yǔ)言標(biāo)準(zhǔn)化的努力開(kāi)始時(shí),這方面的工作才迅速增加到幾十人。

如今,C++ 的標(biāo)準(zhǔn)委員會(huì)中有大約 400 名成員,以及關(guān)注并試圖影響該語(yǔ)言發(fā)展方向的廣大用戶社區(qū)。

那么,在面對(duì)滿懷熱忱的人們時(shí),該如何使編程語(yǔ)言保持連貫性呢?“這是一個(gè)機(jī)遇,也是一個(gè)巨大的問(wèn)題,”Stroustrup 說(shuō)。

“最困難的部分是確定重要內(nèi)容并保持連貫性。一旦你知道自己想要什么,最終,你就會(huì)發(fā)現(xiàn)一種很好的技術(shù)方法來(lái)達(dá)到目的?!?/p>

記住 Vasa

1998 年,C++ 正式實(shí)現(xiàn)了標(biāo)準(zhǔn)化,并成為可靠的主力軍。至此,C++ 已成為世界上最常用的編程語(yǔ)言之一,并且一直保持到今天。

Stroustrup 說(shuō),正是 13 年后 C++11 的到來(lái),這才為該語(yǔ)言未來(lái)的發(fā)展奠定了基礎(chǔ)。他說(shuō):“C++11 使 C++ 感覺(jué)像是一種全新的語(yǔ)言?!?/p>

“對(duì)并發(fā)類型的安全支持是必不可少的。C++11 提供了一個(gè)密集的網(wǎng)絡(luò),其中包含相互支持的功能,如用于編譯時(shí)計(jì)算的(常量表達(dá)式)函數(shù)、lambdas、自動(dòng)類型推導(dǎo)以及可變模板?!?/p>

盡管 C++11 引入了一些新的特性和功能,使得該語(yǔ)言變得更簡(jiǎn)單,更快速,更具表現(xiàn)力,但這種語(yǔ)言仍然以難以掌握而著稱,Stroustrup 也承認(rèn)了這一點(diǎn)。

Stroustrup 說(shuō):“C++ 確實(shí)很復(fù)雜,要想學(xué)好用好它,需要付出很多努力。不幸的是,人們不只是想要簡(jiǎn)單,他們還想要某種不可能的東西:一種更簡(jiǎn)單的語(yǔ)言,擁有更多的特性,并且還不會(huì)破壞他們現(xiàn)有的代碼?!?/p>

Stroustrup 對(duì)這個(gè)“三難問(wèn)題”的回應(yīng),正如他所說(shuō)的那樣,就是增加一些特性,“讓簡(jiǎn)單的事情變得簡(jiǎn)單”,舉例來(lái)說(shuō),通過(guò)對(duì)常見(jiàn)的用例進(jìn)行泛化或直接支持——同時(shí)還要保持兼容性和穩(wěn)定性。

對(duì)于像 C++ 這樣的“龐然大物”,或者任何主流編程語(yǔ)言來(lái)說(shuō),這件事說(shuō)起來(lái)容易做起來(lái)難。Stroustrup 解釋說(shuō),在決定采用哪種新特性還是省去哪種特性方面,達(dá)成共識(shí)是一個(gè)巨大的挑戰(zhàn),需要大量的努力、討論、時(shí)間和耐心。

即便如此,也并不是所有的優(yōu)秀特性都能被接受。他解釋說(shuō):“你必須試著只加入那些真正能幫助人們的東西,然后再加入一些這樣的東西——因?yàn)槿绻覀兘邮苣切┠軌驇椭藗兊奶匦?,語(yǔ)言就會(huì)不堪其重而傾覆。”

Stroustrup 指的是 Vasa,這是 17 世紀(jì)瑞典的一艘大型戰(zhàn)艦,由于設(shè)計(jì)不佳,在處女航時(shí)就在斯德哥爾摩港沉沒(méi)了。

他說(shuō):“在國(guó)王——最高管理者的堅(jiān)持下,這艘戰(zhàn)艦滿載漂亮的雕塑和大炮,這與技術(shù)人員的專業(yè)判斷相悖,造成這艘戰(zhàn)艦頭重腳輕,結(jié)果被一陣風(fēng)給掀翻了。”

“我反復(fù)談?wù)摬⒆珜戧P(guān)于 Vasa 的文章,來(lái)提醒和警告那些渴望通過(guò)添加特性來(lái)改進(jìn) C++ 的人:記住 Vasa!因此到目前為止,C++ 還沒(méi)有‘傾覆’?!?/p>

這么多年來(lái),是什么秘密使 C++ 保持活力?“從小處著手,闡明基本原則,明確長(zhǎng)期目標(biāo),并根據(jù)現(xiàn)實(shí)世界中實(shí)際使用的反饋進(jìn)行開(kāi)發(fā)?!?/p>

事實(shí)上,C++ 在誕生 35 年后,依然保持著強(qiáng)大的生命力。今天的 C++ 遠(yuǎn)比早期的 C++ 更強(qiáng)大,更具表現(xiàn)力。但即使在今天,最初的設(shè)計(jì)依然可見(jiàn)。

Stroustrup 說(shuō):“40 年前編寫的一些簡(jiǎn)單的程序,到今天還可以運(yùn)行。”

“對(duì)必須工作幾十年的語(yǔ)言來(lái)說(shuō),穩(wěn)定性是一種重要的特征。實(shí)際上,許多早期的想法只有在 C++20 中才能實(shí)現(xiàn)。我從一開(kāi)始就知道,我不可能構(gòu)建理想的語(yǔ)言,因此我必須以漸進(jìn)式發(fā)展為目標(biāo):改進(jìn)。說(shuō)真的,我并不相信完美語(yǔ)言的想法:要怎樣就算是完美呢?對(duì)誰(shuí)來(lái)說(shuō)(是完美的)?”

他補(bǔ)充說(shuō):“為了應(yīng)對(duì)不斷變化的世界的挑戰(zhàn),融入新思想,改進(jìn)是必須的?!?/p>

實(shí)踐中的 C++

截至 2020 年 9 月,C++ 是全球第四大流行的編程語(yǔ)言,僅次于 C、JavaPython,而且根據(jù)最新的 TIOBE 索引來(lái)看,它也是增長(zhǎng)最快的語(yǔ)言。

作為一種通用的編程語(yǔ)言,C++ 以其強(qiáng)大的功能和靈活性而受到開(kāi)發(fā)人員的青睞,這使得它成為操作系統(tǒng)、網(wǎng)絡(luò)瀏覽器、搜索引擎(包括 Google 的)、游戲、企業(yè)應(yīng)用等的理想選擇。

Stroustrup 總結(jié)道:“如果你有一個(gè)問(wèn)題需要高效地利用硬件,同時(shí)還需要處理高度復(fù)雜性,那么 C++ 顯然是一個(gè)不錯(cuò)的選擇。如果你沒(méi)有這兩種需求的話,那么低級(jí)高效的語(yǔ)言或者高級(jí)但不高效的語(yǔ)言都是可以的?!?/p>

然而,即使 C++ 廣泛流行,Stroustrup 也指出,要想準(zhǔn)確地確定 C++ 確切的用途和用處,是非常困難的。

“對(duì)這兩個(gè)問(wèn)題的答案,估計(jì)是‘無(wú)處不在’,”他說(shuō)。

“在任何大型系統(tǒng)中,你通常會(huì)在低級(jí)和性能關(guān)鍵部分發(fā)現(xiàn) C++ 的影子。系統(tǒng)的這類部分往往不會(huì)被最終用戶看到,甚至不被系統(tǒng)其他部分的開(kāi)發(fā)人員看到,所以我有時(shí)把 C++ 稱為一切的無(wú)形基礎(chǔ)?!?/p>

同時(shí)他也強(qiáng)調(diào)了在評(píng)估特定編程語(yǔ)言的流行程度時(shí),開(kāi)發(fā)人員調(diào)查相對(duì)不可靠:“計(jì)算程序員的人數(shù)既困難又簡(jiǎn)單。網(wǎng)絡(luò)調(diào)查通常只是測(cè)量‘噪音’,也就是說(shuō),統(tǒng)計(jì)的是人們都在談?wù)摰模撬麄儗?shí)際使用過(guò)的。”

C++ 的未來(lái)

如今,Stroustrup 是 Morgan Stanley 的技術(shù)研究員。他與國(guó)際標(biāo)準(zhǔn)化組織(ISO)合作制定 C++ 標(biāo)準(zhǔn)和 C++ 核心指南的工作,這被認(rèn)為是他在這家金融巨頭公司的角色的一部分,他仍然非常積極地參與 C++ 的開(kāi)發(fā)。

最值得注意的是,Stroustrup 是方向小組的成員,該小組提出并討論關(guān)于編程語(yǔ)言未來(lái)的建議。他還關(guān)注改進(jìn)小組,并參與有關(guān)新語(yǔ)言特性的討論。

然而,當(dāng)涉及到 C++ 的日常運(yùn)行方面時(shí),Stroustrup 更樂(lè)意擔(dān)任次要角色?!拔谊P(guān)注行政工作,但盡量少做。我并不是一個(gè)偉大的管理者,”他承認(rèn)。

在新冠肺炎疫情之前,Stroustrup 會(huì)經(jīng)常四處授課,并通過(guò)他的書(shū)籍、文章和采訪向全世界解釋 C++,但和世界其他地方一樣,這一工作在 2020 年暫告一段落。

Stroustrup 說(shuō):“在我的工作中,我非常依賴于與人們交談,了解他們的問(wèn)題,并且傾聽(tīng)我的想法是如何幫助他們的?!?/p>

“在這個(gè)新冠肺炎疫情期間,我得不到急需的反饋。而虛擬會(huì)談和現(xiàn)實(shí)不一樣,在討論設(shè)計(jì)和想法時(shí),Zoom 會(huì)議的效果并不如真正的面對(duì)面會(huì)議?!?/p>

新冠肺炎疫情阻礙了 C++ 編程語(yǔ)言的下兩個(gè)迭代版本:C++20 和 C++23 的開(kāi)發(fā)。但 Stroustrup 確認(rèn),“幾乎所有”的 C++20 將在 2020 年發(fā)布。

“除此之外,還有 Unicode、數(shù)字、游戲開(kāi)發(fā)和低延遲、工具、人工智能等方面的工作都要去做?!彼f(shuō)。

“當(dāng)一個(gè)特性(語(yǔ)言和庫(kù))準(zhǔn)備就緒時(shí),我們就會(huì)進(jìn)行發(fā)布,并且我們每三年會(huì)發(fā)布一個(gè)修訂的標(biāo)準(zhǔn)。已按時(shí)發(fā)布的有 C++14、C++17 和 C++20。值得一提的是,標(biāo)準(zhǔn)的制定與主要實(shí)現(xiàn)者是高度同步的。”

“讓 C++ 保持連貫性,并作為一個(gè)穩(wěn)定的開(kāi)發(fā)平臺(tái),這一點(diǎn)至關(guān)重要?!?/p>

原文標(biāo)題:40 歲的 C++ 沒(méi)有中年危機(jī)

文章出處:【微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97166
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2123

    瀏覽量

    77103

原文標(biāo)題:40 歲的 C++ 沒(méi)有中年危機(jī)

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    keil實(shí)現(xiàn)cc++混合編程

    起因項(xiàng)目中使用到個(gè)開(kāi)源的模擬IIC的庫(kù),封裝的比較好,但是是使用c++寫的。于是將其移植到自己的項(xiàng)目中,主要有以下三步操作: 在工程選項(xiàng)中 C/C++中去掉勾選
    發(fā)表于 01-26 08:58

    汽車網(wǎng)絡(luò)安全開(kāi)發(fā)語(yǔ)言選型指南:C/C++/Rust/Java等主流語(yǔ)言對(duì)比+Perforce QAC/Klocwork工具支持

    汽車網(wǎng)絡(luò)安全如何選編程語(yǔ)言?CC++、Rust、Java……誰(shuí)更適合AUTOSAR、ISO/SAE 21434?文了解8種主流
    的頭像 發(fā)表于 12-26 11:13 ?419次閱讀
    汽車網(wǎng)絡(luò)安全開(kāi)發(fā)<b class='flag-5'>語(yǔ)言</b>選型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>/Rust/Java等主流<b class='flag-5'>語(yǔ)言</b>對(duì)比+Perforce QAC/Klocwork工具支持

    C語(yǔ)言C++的區(qū)別及聯(lián)系

    class等面向?qū)ο蟮奶匦院蜋C(jī)制。但是,后來(lái)經(jīng)過(guò)步步修訂和很多次演變,最終才形成了現(xiàn)如今這個(gè)支持系列重大特性的龐大編程語(yǔ)言。 、
    發(fā)表于 12-24 07:23

    CC++之間的聯(lián)系

    控制能力,這點(diǎn)與C語(yǔ)言相似,使得它們?cè)谙到y(tǒng)編程、嵌入式系統(tǒng)等領(lǐng)域都得到廣泛應(yīng)用。 3、發(fā)展歷程:
    發(fā)表于 12-11 06:51

    C語(yǔ)言C++之間的區(qū)別是什么

    區(qū)別 1、面向?qū)ο?b class='flag-5'>編程 (OOP): C語(yǔ)言種面向過(guò)程的語(yǔ)言,它強(qiáng)調(diào)的是通過(guò)函數(shù)將任務(wù)分解為
    發(fā)表于 12-11 06:23

    如何調(diào)試和編程CW32F030C8T7?支持哪些調(diào)試工具和編程語(yǔ)言?

    了解如何調(diào)試和編程CW32F030C8T7是開(kāi)發(fā)過(guò)程中的重要環(huán)節(jié)。它支持哪些調(diào)試工具(如JTAG、串口調(diào)試等)和編程語(yǔ)言(如C、
    發(fā)表于 12-05 06:48

    為什么單片機(jī)還在用C語(yǔ)言編程?

    ,只是C語(yǔ)言是最適合單片機(jī)編程的高級(jí)語(yǔ)言、單片機(jī)編程的特點(diǎn) 1.對(duì)單片機(jī)
    發(fā)表于 11-28 07:37

    C語(yǔ)言編程技巧

    設(shè)計(jì),分層開(kāi)發(fā)代碼,便于理解和維護(hù)。 ?8、避免使用GOTO語(yǔ)句?:盡管GOTO語(yǔ)句在某些情況下仍然有用,但現(xiàn)代編程更傾向于使用函數(shù)和循環(huán)控制結(jié)構(gòu),以提高代碼的可讀性和維護(hù)性。 ?9、利用C語(yǔ)
    發(fā)表于 11-27 06:46

    2025最佳的嵌入式編程語(yǔ)言有哪些呢?

    嵌入式系統(tǒng)是現(xiàn)代科技不可或缺的部分。它們存在于家用電器、汽車、住宅、醫(yī)院、商店等各個(gè)領(lǐng)域。它們與我們的社會(huì)緊密相連。選擇合適的語(yǔ)言來(lái)構(gòu)建嵌入式系統(tǒng)對(duì)于成功至關(guān)重要。那么,2025最佳的嵌入式
    的頭像 發(fā)表于 11-14 10:27 ?1397次閱讀
    2025<b class='flag-5'>年</b>最佳的嵌入式<b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b>有哪些呢?

    文了解Mojo編程語(yǔ)言

    Mojo 是種由 Modular AI 公司開(kāi)發(fā)的編程語(yǔ)言,旨在將 Python 的易用性與 C 語(yǔ)言的高性能相結(jié)合,特別適合人工智能(A
    發(fā)表于 11-07 05:59

    技能+1!如何在樹(shù)莓派上使用C++控制GPIO?

    在使用樹(shù)莓派時(shí),你會(huì)發(fā)現(xiàn)Python和Scratch是許多任務(wù)(包括GPIO編程)中最常用的編程語(yǔ)言。但你知道嗎,你也可以使用C++進(jìn)行GPIO編程
    的頭像 發(fā)表于 08-06 15:33 ?4120次閱讀
    技能+1!如何在樹(shù)莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C++ 與 Python:樹(shù)莓派上哪種語(yǔ)言更優(yōu)?

    廣泛應(yīng)用于樹(shù)莓派項(xiàng)目中。然而,C++在性能要求極高的應(yīng)用和底層硬件控制方面表現(xiàn)出色。兩者之間的選擇取決于項(xiàng)目需求和對(duì)編程的熟悉程度。嗯,這就是簡(jiǎn)短的答案,但讀完
    的頭像 發(fā)表于 07-24 15:32 ?938次閱讀
    <b class='flag-5'>C++</b> 與 Python:樹(shù)莓派上哪種<b class='flag-5'>語(yǔ)言</b>更優(yōu)?

    主流的 MCU 開(kāi)發(fā)語(yǔ)言為什么是 C 而不是 C++?

    在單片機(jī)的地界兒里,C語(yǔ)言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉(zhuǎn)。先說(shuō)內(nèi)存這道坎兒。您當(dāng)stm32f4的
    的頭像 發(fā)表于 05-21 10:33 ?1035次閱讀
    主流的 MCU 開(kāi)發(fā)<b class='flag-5'>語(yǔ)言</b>為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    單片機(jī)c語(yǔ)言編程實(shí)例大全

    單片機(jī)c語(yǔ)言編程實(shí)例大全_18
    發(fā)表于 04-30 16:11 ?7次下載

    C++學(xué)到什么程度可以找工作?

    C++學(xué)到什么程度可以找工作?要使用C++找到工作,特別是作為軟件開(kāi)發(fā)人員或相關(guān)職位,通常需要掌握以下幾個(gè)方面: 1. **語(yǔ)言基礎(chǔ)**:你需要對(duì)C++的核心概念有扎實(shí)的理解,包括但不
    發(fā)表于 03-13 10:19