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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:場長 ? 2021-01-02 09:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

近日,C++ 之父 Bjarne Stroustrup 在接受外媒訪談的時候,對 C++ 成功的關鍵和 它40 年來的發(fā)展歷程進行了回顧。

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

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

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

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

40 年前,是沒有編程語言可以勝任這項工作的,Bjarne Stroustrup 對此花了很多心思。

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

C++ 11 使 C++ 成為一種新的語言

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

1998 年是 C++ 正式標準化的一年,從那時起它就成了時間是最常用的編程語言之一,并至今都保持著這種地位。

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

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

Bjarne Stroustrup 坦言:“C++ 確實很復雜,要學會很好的使用它需要付出很多努力,但很多人想要的是更簡單還具有更多功能的語言,并且不會破壞現(xiàn)有代碼。”

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

C++ 流行幾十年的秘訣

對于如何在幾十年中保持 C++ 生存的秘訣,Bjarne Stroustrup 提到,“應該從小做起,闡明長期理想,并根據(jù)實際使用情況的反饋來發(fā)展?!?/p>


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

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

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

C++ 是一切的無形基礎

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

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

然而,盡管 C++ 已經(jīng)廣泛流行,但 Bjarne Stroustrup 還是認為很難準確指出它的用途。他說:“在任何大型系統(tǒng)中,通常會在較低級別和對性能至關重要的部分中找到 C++。最終用戶甚至系統(tǒng)的其他部分的開發(fā)人員通常都看不到系統(tǒng)的這些部分,因此有時我指的是 C++ 是一切的無形基礎。”

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

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

責任編輯:haq

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

    關注

    90

    文章

    3716

    瀏覽量

    97165
  • C++
    C++
    +關注

    關注

    22

    文章

    2123

    瀏覽量

    77102

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

    C語言和C++到底是什么關系? 首先C++C語言本來就是兩種不同的編程語言,但C++確實是對C
    發(fā)表于 12-24 07:23

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

    ,后來才逐漸演變?yōu)橐环N成熟的面向?qū)ο缶幊陶Z言。 總之,C語言和C++雖然有很多共同之處,但在編程范式、安全性、抽象層次等方面存在顯著差異。開發(fā)可以根據(jù)項目需求選擇合適的語言,C語言更
    發(fā)表于 12-11 06:51

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

    區(qū)別 1、面向?qū)ο缶幊?(OOP): C語言是一種面向過程的語言,它強調(diào)的是通過函數(shù)將任務分解為一系列步驟進行執(zhí)行。 C++C語言的基礎上擴展了面向?qū)ο蟮奶匦?,支持?class)、封裝、繼承
    發(fā)表于 12-11 06:23

    探訪大連理工大學2.8萬平方米電子實驗室

    帶著這樣的疑問我們走進大連理工大學,那里有一片屬于創(chuàng)造者的圣地——創(chuàng)新創(chuàng)業(yè)學院。推開那扇門,就仿佛踏進了一座微縮的未來工業(yè)城市,這里提供的不是模擬體驗,而是真正的“工業(yè)級”實戰(zhàn)環(huán)境。
    的頭像 發(fā)表于 12-10 10:08 ?701次閱讀

    C/C++條件編譯

    條件編譯是一種在編譯時根據(jù)條件選擇性地包含或排除部分代碼的處理方法。在 C/C++ 中,條件編譯使用預處理指令 #ifdef、#endif、#else 和 #elif 來實現(xiàn)。常用的條件編譯指令有
    發(fā)表于 12-05 06:21

    C++程序異常的處理機制

    1、什么是異常處理? 有經(jīng)驗的朋友應該知道,在正常的CC++編程過程中難免會碰到程序不按照原本設計運行的情況。 最常見的有除法分母為零,數(shù)組越界,內(nèi)存分配失效、打開相應文件失敗等等。 一個程序
    發(fā)表于 12-02 07:12

    C/C++代碼靜態(tài)測試工具Perforce QAC 2025.3的新特性

    ?Perforce Validate?中?QAC?項目的相對/根路徑的支持。C++?分析也得到了增強,增加了用于檢測 C++?并發(fā)問題的新檢查,并改進了實體名稱和實
    的頭像 發(fā)表于 10-13 18:11 ?567次閱讀
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>代碼靜態(tài)測試工具Perforce QAC 2025.3的新特性

    NVIDIA Jetson AGX Thor開發(fā)套件重磅發(fā)布

    開發(fā)與未來創(chuàng)造者們,準備好迎接邊緣AI的史詩級革新了嗎?NVIDIA以顛覆性技術再次突破極限,正式推出Jetson AGX Thor開發(fā)套件!作為繼傳奇產(chǎn)品Jetson AGX Orin之后
    的頭像 發(fā)表于 08-28 14:31 ?1549次閱讀

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

    在使用樹莓派時,你會發(fā)現(xiàn)Python和Scratch是許多任務(包括GPIO編程)中最常用的編程語言。但你知道嗎,你也可以使用C++進行GPIO編程,而且這樣做還有不少好處。借助WiringPi
    的頭像 發(fā)表于 08-06 15:33 ?4113次閱讀
    技能+1!如何在樹莓派上使用<b class='flag-5'>C++</b>控制GPIO?

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

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

    Perforce QAC產(chǎn)品簡介:面向C/C++的靜態(tài)代碼分析工具(已通過SO 26262認證)

    Perforce QAC專為C/C++開發(fā)打造,支持多種編碼規(guī)范、功能安全標準(ISO 26262)等,廣泛用于汽車、醫(yī)療、嵌入式開發(fā)領域,可幫助快速識別關鍵缺陷、提升代碼質(zhì)量、實現(xiàn)合規(guī)交付。
    的頭像 發(fā)表于 07-10 15:57 ?1251次閱讀
    Perforce QAC產(chǎn)品簡介:面向<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>的靜態(tài)代碼分析工具(已通過SO 26262認證)

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

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

    C++學到什么程度可以找工作?

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

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼中獲得的結果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個推理過程中使用相同的圖像和模型。 從 C++ 代碼中獲得的結果與 Python* 代碼不同。
    發(fā)表于 03-06 06:22