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

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

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

C++創(chuàng)造者:成功屬于意料之外

Q4MP_gh_c472c21 ? 來(lái)源:嵌入式ARM ? 作者:場(chǎng)長(zhǎng) ? 2021-01-02 09:46 ? 次閱讀

C++ 的起源可以追溯到 40 年前,但它仍然是當(dāng)今使用最廣泛的編程語(yǔ)言之一。

到 2020 年 9 月為止,C++ 是僅次于 C 語(yǔ)言、JavaPython,位于全球第四的編程語(yǔ)言。根據(jù)最新TIOBE 索引,C++ 也是增長(zhǎng)最快的語(yǔ)言。

近日,C++ 之父 Bjarne Stroustrup 在接受外媒訪(fǎng)談的時(shí)候,對(duì) C++ 成功的關(guān)鍵和 它40 年來(lái)的發(fā)展歷程進(jìn)行了回顧。

C++ 的成功屬于意料之外

1979 年,C++ 的創(chuàng)建者 Bjarne Stroustrup 開(kāi)始著手

Bjarne Stroustrup 一開(kāi)始沒(méi)想到 C++ 會(huì)獲得如此大的成功,他說(shuō):“C++ 的成功顯然令人驚訝。我認(rèn)為它的成功取決于其最初的設(shè)計(jì)目標(biāo),就是有效的使用硬件,再加上強(qiáng)大的抽象機(jī)制,以及它根據(jù)來(lái)自實(shí)際使用情況的反饋進(jìn)行謹(jǐn)慎的發(fā)展?!?/p>

構(gòu)建 C++ 之初,Bjarne Stroustrup 希望用通信系統(tǒng)構(gòu)建一個(gè)多計(jì)算機(jī)系統(tǒng),該通信系統(tǒng)可以是共享內(nèi)存,也可以是網(wǎng)絡(luò)。他把重點(diǎn)放在了軟件上,去編寫(xiě)底層的、接近硬件的代碼。例如存儲(chǔ)管理器,進(jìn)程調(diào)度程序和設(shè)備驅(qū)動(dòng)程序,以及分離軟件組件,便于它們可以在運(yùn)行使用更好的方式運(yùn)行。

40 年前,是沒(méi)有編程語(yǔ)言可以勝任這項(xiàng)工作的,Bjarne Stroustrup 對(duì)此花了很多心思。

現(xiàn)在,C++ 已經(jīng)成為了最受開(kāi)發(fā)人員歡迎的語(yǔ)言之一,鞏固了全球的系統(tǒng)和服務(wù)。

C++ 11 使 C++ 成為一種新的語(yǔ)言

他從很早開(kāi)始就意識(shí)到了這項(xiàng)工作不可能由他一個(gè)人來(lái)完成,但當(dāng)時(shí)也只有 Bjarne Stroustrup 和他在貝爾實(shí)驗(yàn)室的幾個(gè)同事全身心的投入其中。隨著標(biāo)準(zhǔn)化進(jìn)程加快,加入其中的人也越來(lái)越多,如今 C++ 標(biāo)準(zhǔn)委員會(huì)已有了 400 多名成員和更廣泛的用戶(hù)群體,他們共同努力影響著編程語(yǔ)言的發(fā)展方向。

1998 年是 C++ 正式標(biāo)準(zhǔn)化的一年,從那時(shí)起它就成了時(shí)間是最常用的編程語(yǔ)言之一,并至今都保持著這種地位。

Bjarne Stroustrup 說(shuō),其后 13 年到來(lái)的 C++ 11 為 C++ 的發(fā)展奠定了基礎(chǔ),他說(shuō):“C++ 11 使 C++ 感覺(jué)像是一種新的語(yǔ)言?!睂?duì)并發(fā)的類(lèi)型安全的支持是必不可少的,C++ 提供了相互支持的功能密集網(wǎng)絡(luò),例如用于編譯時(shí)計(jì)算的函數(shù)、自動(dòng)類(lèi)型推導(dǎo)和可變參數(shù)模板的函數(shù)等等。

正如 Bjarne Stroustrup 所說(shuō),C++ 11 添加了一些新功能,這些功能可以使事情變得更簡(jiǎn)單,同時(shí)保持了兼容性和穩(wěn)定性。不過(guò),盡管 C++ 11 引入了一些使該語(yǔ)言更簡(jiǎn)單、更快、更具表現(xiàn)力的新功能,但它還是非常難掌握的。

Bjarne Stroustrup 坦言:“C++ 確實(shí)很復(fù)雜,要學(xué)會(huì)很好的使用它需要付出很多努力,但很多人想要的是更簡(jiǎn)單還具有更多功能的語(yǔ)言,并且不會(huì)破壞現(xiàn)有代碼?!?/p>

對(duì)一種編程語(yǔ)言來(lái)說(shuō),最大的挑戰(zhàn)之一是就決定采用和忽略哪些功能達(dá)成共識(shí),這本身就需要大量的努力,花費(fèi)很多時(shí)間去討論。但即使是這樣,也不是所有好的功能都可以被采用,必須添加真正對(duì)人們有幫助的東西。

C++ 流行幾十年的秘訣

對(duì)于如何在幾十年中保持 C++ 生存的秘訣,Bjarne Stroustrup 提到,“應(yīng)該從小做起,闡明長(zhǎng)期理想,并根據(jù)實(shí)際使用情況的反饋來(lái)發(fā)展。”


確實(shí),C++ 走到今天已經(jīng)超過(guò) 35 年了,今天的 C++ 比早期的 C++ 更加強(qiáng)大且富有表現(xiàn)力。但是,直到今天,它的一些簡(jiǎn)單程序仍在運(yùn)行。

對(duì)于使用了數(shù)十年的系統(tǒng)來(lái)說(shuō),穩(wěn)定性是一種非常重要的語(yǔ)言功能。事實(shí)上,許多早期的想法只有在 C++ 20 中才可用。Bjarne Stroustrup 說(shuō):“從一開(kāi)始我就知道我無(wú)法構(gòu)建理想的語(yǔ)言,所以我必須以漸進(jìn)發(fā)展為目標(biāo)。我不相信有完美的語(yǔ)言,這對(duì)語(yǔ)言本身和使用語(yǔ)言的人都有不同的標(biāo)準(zhǔn)。”

Bjarne Stroustrup 還補(bǔ)充道:“進(jìn)化是應(yīng)對(duì)不斷變化的世界的挑戰(zhàn)和融合新思想的必要條件?!?/p>

C++ 是一切的無(wú)形基礎(chǔ)

C++ 是一種通用的編程語(yǔ)言,由于其強(qiáng)大的功能和靈活性而受到開(kāi)發(fā)人員的青睞,這使其成為操作系統(tǒng)、Web 瀏覽器、搜索引擎(包括 Google)、游戲和商務(wù)應(yīng)用程序等的理想選擇。Bjarne Stroustrup 總結(jié)道:“如果有一個(gè)問(wèn)題需要高效使用硬件并處理相當(dāng)大的復(fù)雜性,那么C++顯然是不錯(cuò)的選擇。”

Bjarne Stroustrup 還提到,COVID-19 大流行阻礙了 C++ 下的兩個(gè)迭代 C++ 20 和 C++ 23 的進(jìn)展。未來(lái)他們會(huì)推出新功能,并在每三年發(fā)布一次修訂的標(biāo)準(zhǔn),C++ 17 和 C++ 20 也會(huì)按時(shí)交付。

然而,盡管 C++ 已經(jīng)廣泛流行,但 Bjarne Stroustrup 還是認(rèn)為很難準(zhǔn)確指出它的用途。他說(shuō):“在任何大型系統(tǒng)中,通常會(huì)在較低級(jí)別和對(duì)性能至關(guān)重要的部分中找到 C++。最終用戶(hù)甚至系統(tǒng)的其他部分的開(kāi)發(fā)人員通常都看不到系統(tǒng)的這些部分,因此有時(shí)我指的是 C++ 是一切的無(wú)形基礎(chǔ)?!?/p>

原文標(biāo)題:C++之父:C++的成功屬于意料之外,C++11是轉(zhuǎn)折點(diǎn)

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

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guā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)注

    88

    文章

    3521

    瀏覽量

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

    關(guān)注

    21

    文章

    2085

    瀏覽量

    73302

原文標(biāo)題:C++之父:C++的成功屬于意料之外,C++11是轉(zhuǎn)折點(diǎn)

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C++語(yǔ)言基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《C++語(yǔ)言基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 07-19 10:58 ?6次下載

    四維圖新出席AutoCC汽車(chē)創(chuàng)造者大會(huì)

    7月18日,由知名產(chǎn)業(yè)智庫(kù)泰伯網(wǎng)主辦的AutoCC汽車(chē)創(chuàng)造者大會(huì)(Automobile Creators Conference)在上海舉辦,大會(huì)深探數(shù)據(jù)閉環(huán)和數(shù)據(jù)合規(guī)挑戰(zhàn),關(guān)注智駕出海新機(jī)遇新問(wèn)題
    的頭像 發(fā)表于 07-19 09:20 ?485次閱讀
    四維圖新出席AutoCC汽車(chē)<b class='flag-5'>創(chuàng)造者</b>大會(huì)

    C++中實(shí)現(xiàn)類(lèi)似instanceof的方法

    C++有多態(tài)與繼承,但是很多人開(kāi)始學(xué)習(xí)C++,有時(shí)候會(huì)面臨一個(gè)常見(jiàn)問(wèn)題,就是如何向下轉(zhuǎn)型,特別是不知道具體類(lèi)型的時(shí)候,這個(gè)時(shí)候就希望C++ 可以向Java或者Python中有instanceof這個(gè)
    的頭像 發(fā)表于 07-18 10:16 ?355次閱讀
    <b class='flag-5'>C++</b>中實(shí)現(xiàn)類(lèi)似instanceof的方法

    使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

    在前兩篇博客中,我們?向您介紹了新的 MISRA C++ 標(biāo)準(zhǔn)?和?C++ 的歷史?。在這篇博客中,我們將仔細(xì)研究以 C++ 中?for?循環(huán)為中心的特定規(guī)則。
    的頭像 發(fā)表于 03-28 13:53 ?519次閱讀
    使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

    c語(yǔ)言,c++,java,python區(qū)別

    C語(yǔ)言、C++、Java和Python是四種常見(jiàn)的編程語(yǔ)言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語(yǔ)言: C語(yǔ)言是一種面向過(guò)程的編程語(yǔ)言。它具有底層的特性,能夠?qū)τ?jì)算機(jī)硬件進(jìn)行直接操作。
    的頭像 發(fā)表于 02-05 14:11 ?1367次閱讀

    vb語(yǔ)言和c++語(yǔ)言的區(qū)別

    VB語(yǔ)言和C++語(yǔ)言是兩種不同的編程語(yǔ)言,雖然它們都屬于高級(jí)編程語(yǔ)言,但在設(shè)計(jì)和用途上有很多區(qū)別。下面將詳細(xì)比較VB語(yǔ)言和C++語(yǔ)言的區(qū)別。 設(shè)計(jì)目標(biāo): VB語(yǔ)言(Visual Basic)是由
    的頭像 發(fā)表于 02-01 10:20 ?1523次閱讀

    C++簡(jiǎn)史:C++是如何開(kāi)始的

    MISRA C++:2023,MISRA? C++ 標(biāo)準(zhǔn)的下一個(gè)版本,來(lái)了!為了幫助您做好準(zhǔn)備,我們介紹了 Perforce 首席技術(shù)支持工程師 Frank van den Beuken 博士撰寫(xiě)
    的頭像 發(fā)表于 01-11 09:00 ?427次閱讀
    <b class='flag-5'>C++</b>簡(jiǎn)史:<b class='flag-5'>C++</b>是如何開(kāi)始的

    如何使用SystemC做RTL和C/C++的聯(lián)合仿真呢?

    當(dāng)FPGA開(kāi)發(fā)需要做RTL和C/C++聯(lián)合仿真的時(shí)候,一些常用的方法包括使用MicroBlaze軟核,或者使用QEMU仿真ZYNQ的PS部分。
    的頭像 發(fā)表于 12-13 10:13 ?943次閱讀
    如何使用SystemC做RTL和<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>的聯(lián)合仿真呢?

    C語(yǔ)言和C++中那些不同的地方

    C語(yǔ)言雖說(shuō)經(jīng)常和C++在一起被大家提起,但可千萬(wàn)不要以為它們是一個(gè)東西?,F(xiàn)在我們常用的C語(yǔ)言是C89標(biāo)準(zhǔn),C++
    的頭像 發(fā)表于 12-07 14:29 ?773次閱讀
    <b class='flag-5'>C</b>語(yǔ)言和<b class='flag-5'>C++</b>中那些不同的地方

    開(kāi)箱即用!教你如何正確使用華為云CodeArts IDE for C/C++!

    華為云CodeArts IDE 定位華為云開(kāi)發(fā)桌面 ,是華為云面向開(kāi)發(fā)提供的一款智能化桌面集成開(kāi)發(fā)環(huán)境。CodeArts IDE for C/C++集成了華為自研的
    的頭像 發(fā)表于 11-29 17:40 ?614次閱讀
    開(kāi)箱即用!教你如何正確使用華為云CodeArts IDE for <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>!

    c++怎么開(kāi)始編程

    C++是一種高級(jí)的、通用的編程語(yǔ)言,用于開(kāi)發(fā)各種類(lèi)型的應(yīng)用程序。它是從C語(yǔ)言演變而來(lái),也是一種靜態(tài)類(lèi)型語(yǔ)言,可以在不同的平臺(tái)上進(jìn)行開(kāi)發(fā)。C++具有高度的靈活性和性能,并且廣泛應(yīng)用于游戲開(kāi)發(fā)、桌面
    的頭像 發(fā)表于 11-27 15:56 ?738次閱讀

    AI熱潮造成的芯片短缺有一個(gè)意料之外的救世主:區(qū)塊鏈

    代幣的激勵(lì)下,處理運(yùn)維中的具體事務(wù)。因此,成本很低,除了 GPU 的所有之外,沒(méi)有人會(huì)從交易中獲得任何可觀(guān)的收入。
    的頭像 發(fā)表于 11-24 16:09 ?578次閱讀

    探索C++的編程習(xí)慣與編程要點(diǎn)

    C++的類(lèi)可以分為帶指針數(shù)據(jù)成員與不帶指針數(shù)據(jù)成員兩類(lèi),complex就屬于不帶指針成員的類(lèi)。而這里要說(shuō)的字符串類(lèi)String,一般的實(shí)現(xiàn)會(huì)帶有一個(gè)char *指針。帶指針數(shù)據(jù)成員的類(lèi),需要自己實(shí)現(xiàn)class三大件:拷貝構(gòu)造函數(shù)、拷貝賦值函數(shù)、析構(gòu)函數(shù)。
    的頭像 發(fā)表于 11-14 09:25 ?330次閱讀
    探索<b class='flag-5'>C++</b>的編程習(xí)慣與編程要點(diǎn)

    C++之父新作帶你勾勒現(xiàn)代C++地圖

    為了幫助大家解決這些痛點(diǎn)問(wèn)題,讓大家領(lǐng)略現(xiàn)代C++之美,掌握其中的精髓,更好地使用C++C++之父Bjarne Stroustrup坐不住了,他親自操刀寫(xiě)就了這本《C++之旅》!
    的頭像 發(fā)表于 10-30 16:35 ?698次閱讀
    <b class='flag-5'>C++</b>之父新作帶你勾勒現(xiàn)代<b class='flag-5'>C++</b>地圖

    嵌入式C/C++語(yǔ)言精華文章集錦

    面對(duì)一個(gè)人的大型 C/C++程序時(shí),只看其對(duì) struct 的使用情況我們就可以對(duì)其編寫(xiě)的編程經(jīng)驗(yàn)進(jìn)行評(píng)估。因?yàn)橐粋€(gè)大型的 C/C++程序
    發(fā)表于 09-25 08:00