<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          40歲C++沒有中年危機

          共 3693字,需瀏覽 8分鐘

           ·

          2021-01-21 08:09

          作者 | Owen Hughes
          譯者 | Sambodhi
          策劃 | 劉燕
          強大、靈活、復雜:C++ 的起源可以追溯到 40 年前,但它仍然是當今使用最廣泛的編程語言之一。

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

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

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

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

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

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

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

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

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

          1 記住 Vasa

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          2 實踐中的 C++

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

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

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

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

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

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

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

          3 C++ 的未來

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

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

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

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

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

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

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

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

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

          “讓 C++ 保持連貫性,并作為一個穩(wěn)定的開發(fā)平臺,這一點至關(guān)重要。”

          原文鏈接:

          https://www.techrepublic.com/meet-the-team/uk/owen-hughes/

          瀏覽 66
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼操逼操逼操逼操 | 成人欧美激情 | 少妇做受 高潮10在线 | 国产九一网站免费观看 | 国产精品一级毛片无码视频 |