国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

40年后C++為何仍然當今使用最廣泛的編程語言之一?

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

掃碼添加小助手

加入工程師交流群

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

C++ 的起源可以追溯到 1979 年,那時編程語言的創造者 Bjarne Stroustrup 第一次開始研究 C++ 這門語言,當時被稱為“帶類的 C”(C with Classes)。該語言的設計初衷是作為對 C 編程語言的改進,添加了一些基于面向對象編程的功能。

Stroustrup 告訴 TechRepublic 說:“C++ 的成功顯然令人吃驚。我認為 C++ 的成功在于其最初的設計目標:高效地使用硬件,再加上強大的抽象機制,并在實際使用反饋的基礎上謹慎地改進”。如今,它已經成為最受開發人員歡迎的語言之一,支撐著世界各地的系統和服務。

Stroustrup 解釋道:“我想建立一個多計算機系統,它有一個通信系統,既可以是共享內存,也可以是網絡。”

“我的重點是軟件。我需要編寫接近硬件的低級代碼,例如內存管理器、進程調度器和設備驅動程序來分離軟件組件,以便它們能夠在通信方式定義明確的不同計算機上運行。”

在那時,還沒有一種語言能夠勝任這項任務,因此 Stroustrup 致力于構建一種語言來勝任這項任務。他這樣描述這種語言:“帶類的 C 應該結合了 C 接近硬件工作的能力和類似 Simula 的抽象和代碼組織能力。”

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

如今,C++ 的標準委員會中有大約 400 名成員,以及關注并試圖影響該語言發展方向的廣大用戶社區。

那么,在面對滿懷熱忱的人們時,該如何使編程語言保持連貫性呢?“這是一個機遇,也是一個巨大的問題,”Stroustrup 說。

“最困難的部分是確定重要內容并保持連貫性。一旦你知道自己想要什么,最終,你就會發現一種很好的技術方法來達到目的。”

記住 Vasa

1998 年,C++ 正式實現了標準化,并成為可靠的主力軍。至此,C++ 已成為世界上最常用的編程語言之一,并且一直保持到今天。

Stroustrup 說,正是 13 年后 C++11 的到來,這才為該語言未來的發展奠定了基礎。他說:“C++11 使 C++ 感覺像是一種全新的語言。”

“對并發類型的安全支持是必不可少的。C++11 提供了一個密集的網絡,其中包含相互支持的功能,如用于編譯時計算的(常量表達式)函數、lambdas、自動類型推導以及可變模板。”

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

Stroustrup 說:“C++ 確實很復雜,要想學好用好它,需要付出很多努力。不幸的是,人們不只是想要簡單,他們還想要某種不可能的東西:一種更簡單的語言,擁有更多的特性,并且還不會破壞他們現有的代碼。”

Stroustrup 對這個“三難問題”的回應,正如他所說的那樣,就是增加一些特性,“讓簡單的事情變得簡單”,舉例來說,通過對常見的用例進行泛化或直接支持——同時還要保持兼容性和穩定性。

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

即便如此,也并不是所有的優秀特性都能被接受。他解釋說:“你必須試著只加入那些真正能幫助人們的東西,然后再加入一些這樣的東西——因為如果我們接受那些能夠幫助人們的特性,語言就會不堪其重而傾覆。”

Stroustrup 指的是 Vasa,這是 17 世紀瑞典的一艘大型戰艦,由于設計不佳,在處女航時就在斯德哥爾摩港沉沒了。

他說:“在國王——最高管理者的堅持下,這艘戰艦滿載漂亮的雕塑和大炮,這與技術人員的專業判斷相悖,造成這艘戰艦頭重腳輕,結果被一陣風給掀翻了。”

“我反復談論并撰寫關于 Vasa 的文章,來提醒和警告那些渴望通過添加特性來改進 C++ 的人:記住 Vasa!因此到目前為止,C++ 還沒有‘傾覆’。”

這么多年來,是什么秘密使 C++ 保持活力?“從小處著手,闡明基本原則,明確長期目標,并根據現實世界中實際使用的反饋進行開發。”

事實上,C++ 在誕生 35 年后,依然保持著強大的生命力。今天的 C++ 遠比早期的 C++ 更強大,更具表現力。但即使在今天,最初的設計依然可見。

Stroustrup 說:“40 年前編寫的一些簡單的程序,到今天還可以運行。”

“對必須工作幾十年的語言來說,穩定性是一種重要的特征。實際上,許多早期的想法只有在 C++20 中才能實現。我從一開始就知道,我不可能構建理想的語言,因此我必須以漸進式發展為目標:改進。說真的,我并不相信完美語言的想法:要怎樣就算是完美呢?對誰來說(是完美的)?”

他補充說:“為了應對不斷變化的世界的挑戰,融入新思想,改進是必須的。”

實踐中的 C++

截至 2020 年 9 月,C++ 是全球第四大流行的編程語言,僅次于 C、JavaPython,而且根據最新的 TIOBE 索引來看,它也是增長最快的語言。

作為一種通用的編程語言,C++ 以其強大的功能和靈活性而受到開發人員的青睞,這使得它成為操作系統、網絡瀏覽器、搜索引擎(包括 Google 的)、游戲、企業應用等的理想選擇。

Stroustrup 總結道:“如果你有一個問題需要高效地利用硬件,同時還需要處理高度復雜性,那么 C++ 顯然是一個不錯的選擇。如果你沒有這兩種需求的話,那么低級高效的語言或者高級但不高效的語言都是可以的。”

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

“對這兩個問題的答案,估計是‘無處不在’,”他說。

“在任何大型系統中,你通常會在低級和性能關鍵部分發現 C++ 的影子。系統的這類部分往往不會被最終用戶看到,甚至不被系統其他部分的開發人員看到,所以我有時把 C++ 稱為一切的無形基礎。”

同時他也強調了在評估特定編程語言的流行程度時,開發人員調查相對不可靠:“計算程序員的人數既困難又簡單。網絡調查通常只是測量‘噪音’,也就是說,統計的是人們都在談論的,而非他們實際使用過的。”

C++ 的未來

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

最值得注意的是,Stroustrup 是方向小組的成員,該小組提出并討論關于編程語言未來的建議。他還關注改進小組,并參與有關新語言特性的討論。

然而,當涉及到 C++ 的日常運行方面時,Stroustrup 更樂意擔任次要角色。“我關注行政工作,但盡量少做。我并不是一個偉大的管理者,”他承認。

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

Stroustrup 說:“在我的工作中,我非常依賴于與人們交談,了解他們的問題,并且傾聽我的想法是如何幫助他們的。”

“在這個新冠肺炎疫情期間,我得不到急需的反饋。而虛擬會談和現實不一樣,在討論設計和想法時,Zoom 會議的效果并不如真正的面對面會議。”

新冠肺炎疫情阻礙了 C++ 編程語言的下兩個迭代版本:C++20 和 C++23 的開發。但 Stroustrup 確認,“幾乎所有”的 C++20 將在 2020 年發布。

“除此之外,還有 Unicode、數字、游戲開發和低延遲、工具、人工智能等方面的工作都要去做。”他說。

“當一個特性(語言和庫)準備就緒時,我們就會進行發布,并且我們每三年會發布一個修訂的標準。已按時發布的有 C++14、C++17 和 C++20。值得一提的是,標準的制定與主要實現者是高度同步的。”

“讓 C++ 保持連貫性,并作為一個穩定的開發平臺,這一點至關重要。”

原文標題:40 歲的 C++ 沒有中年危機

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    90

    文章

    3716

    瀏覽量

    97178
  • C++
    C++
    +關注

    關注

    22

    文章

    2123

    瀏覽量

    77110

原文標題:40 歲的 C++ 沒有中年危機

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    keil實現cc++混合編程

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

    汽車網絡安全開發語言選型指南:C/C++/Rust/Java等主流語言對比+Perforce QAC/Klocwork工具支持

    汽車網絡安全如何選編程語言CC++、Rust、Java……誰更適合AUTOSAR、ISO/SAE 21434?文了解8種主流
    的頭像 發表于 12-26 11:13 ?423次閱讀
    汽車網絡安全開發<b class='flag-5'>語言</b>選型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>/Rust/Java等主流<b class='flag-5'>語言</b>對比+Perforce QAC/Klocwork工具支持

    C語言C++的區別及聯系

    class等面向對象的特性和機制。但是,后來經過步步修訂和很多次演變,最終才形成了現如今這個支持系列重大特性的龐大編程語言
    發表于 12-24 07:23

    CC++之間的聯系

    控制能力,這點與C語言相似,使得它們在系統編程、嵌入式系統等領域都得到廣泛應用。 3、發展歷程:
    發表于 12-11 06:51

    C語言C++之間的區別是什么

    區別 1、面向對象編程 (OOP): C語言種面向過程的語言,它強調的是通過函數將任務分解為
    發表于 12-11 06:23

    如何調試和編程CW32F030C8T7?支持哪些調試工具和編程語言

    了解如何調試和編程CW32F030C8T7是開發過程中的重要環節。它支持哪些調試工具(如JTAG、串口調試等)和編程語言(如C
    發表于 12-05 06:48

    為什么單片機還在用C語言編程

    ,只是C語言是最適合單片機編程的高級語言、單片機編程的特點 1.對單片機
    發表于 11-28 07:37

    C語言編程技巧

    設計,分層開發代碼,便于理解和維護。 ?8、避免使用GOTO語句?:盡管GOTO語句在某些情況下仍然有用,但現代編程更傾向于使用函數和循環控制結構,以提高代碼的可讀性和維護性。 ?9、利用C
    發表于 11-27 06:46

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

    嵌入式系統是現代科技不可或缺的部分。它們存在于家用電器、汽車、住宅、醫院、商店等各個領域。它們與我們的社會緊密相連。選擇合適的語言來構建嵌入式系統對于成功至關重要。那么,2025最佳的嵌入式
    的頭像 發表于 11-14 10:27 ?1410次閱讀
    2025<b class='flag-5'>年</b>最佳的嵌入式<b class='flag-5'>編程</b><b class='flag-5'>語言</b>有哪些呢?

    文了解Mojo編程語言

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

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

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

    C++ 與 Python:樹莓派上哪種語言更優?

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

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

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

    單片機c語言編程實例大全

    單片機c語言編程實例大全_18
    發表于 04-30 16:11 ?7次下載

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

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