<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>

          取代C++?谷歌開(kāi)源編程語(yǔ)言Carbon,網(wǎng)友評(píng)價(jià)太真實(shí)了

          共 2284字,需瀏覽 5分鐘

           ·

          2022-08-09 04:22

          來(lái)源:機(jī)器之心
          ?前,Carbon編程語(yǔ)言正處于實(shí)驗(yàn)階段。


          在編程語(yǔ)言的世界中,C++的地位舉足輕重。在2022年5月的TIOBE編程語(yǔ)言排行榜中,C++位列第四。同樣地,谷歌內(nèi)部也在廣泛使用C++。


          圖源:https://hellogithub.com/report/tiobe/

          不過(guò)近日,在加拿大多倫多舉辦的 CPP North C++大會(huì)上,谷歌工程師 Chandler Carruth宣布谷歌內(nèi)部正在打造一種新的編程語(yǔ)言——Carbon,并將它作為C++的繼任者。目前,Carbon編程語(yǔ)言正處于實(shí)驗(yàn)階段。

          正如微軟創(chuàng)建TypeScript來(lái)更新JavaScript、JetBrains創(chuàng)建Kotlin來(lái)彌補(bǔ)Java的缺點(diǎn),Carbon將作為替代C++的語(yǔ)言,為開(kāi)發(fā)人員提供一種全新的語(yǔ)言來(lái)解決內(nèi)存安全和泛型等現(xiàn)代開(kāi)發(fā)概念。



          在談到為何要替代 C++ 時(shí),Carruth表示,C++作為長(zhǎng)期以來(lái)構(gòu)建性能關(guān)鍵應(yīng)用的首選語(yǔ)言,它自身的很多問(wèn)題困擾著現(xiàn)代開(kāi)發(fā)人員。C++積累了數(shù)十年的技術(shù)負(fù)債,帶有的很多過(guò)時(shí)實(shí)踐都是其前身C語(yǔ)言的一部分。C++ 的維護(hù)者優(yōu)先考慮向后兼容,以便繼續(xù)支持廣泛使用的項(xiàng)目,例如Linux及其包管理生態(tài)系統(tǒng)等。

          此外,C++語(yǔ)言的發(fā)展也受到了官僚委員會(huì)程序的阻礙,該程序以標(biāo)準(zhǔn)化而非設(shè)計(jì)為導(dǎo)向。這種做法導(dǎo)致很難添加新功能。C++在很大程度上處于一個(gè)隔絕的開(kāi)發(fā)過(guò)程,其中可能經(jīng)過(guò)數(shù)年才會(huì)做出一些重要決定。

          因此,Carruth希望通過(guò)更開(kāi)放的社區(qū)主導(dǎo)環(huán)境來(lái)構(gòu)建Carbon語(yǔ)言,并已開(kāi)源。目前,該項(xiàng)目已在GitHub上獲得了16.5k的Stars。

          GitHub開(kāi)源地址:https://github.com/carbon-language/carbon-lang

          Carbon的設(shè)計(jì)理念和特性

          谷歌希望在2022年年底推出Carbon的核心工作版本,即v0.1。Carbon將建立在現(xiàn)代編程原則的基礎(chǔ)上,包含一個(gè)泛型系統(tǒng),使開(kāi)發(fā)人員不再需要為每個(gè)實(shí)例檢查和再核對(duì)代碼。

          C++ 語(yǔ)言中亟需的一個(gè)特性是內(nèi)存安全。內(nèi)存訪問(wèn) bug是安全漏洞的罪魁禍?zhǔn)字唬珻arbon 設(shè)計(jì)人員將探索追蹤未初始化狀態(tài)的更好方法、設(shè)計(jì)支持動(dòng)態(tài)邊界檢查的 API和慣用語(yǔ),并構(gòu)建全面的默認(rèn)debug構(gòu)建模式。隨著時(shí)間的推移,設(shè)計(jì)人員還計(jì)劃構(gòu)建一個(gè)安全的Carbon子集。

          Carbon語(yǔ)言將支持以下功能:


          • 性能關(guān)鍵型軟件;
          • 軟件和語(yǔ)言演變;
          • 易于閱讀、理解和編寫的代碼;
          • 實(shí)用的安全和測(cè)試機(jī)制;
          • 快速且可擴(kuò)展的開(kāi)發(fā);
          • 現(xiàn)代操作系統(tǒng)平臺(tái)、硬件架構(gòu)和環(huán)境;
          • 與現(xiàn)有C++代碼的互操作性和遷移。

          同時(shí),Carbon語(yǔ)言的亮點(diǎn)包括如下:

          • Introducer關(guān)鍵字和簡(jiǎn)單語(yǔ)法;
          • 函數(shù)輸入?yún)?shù)為只讀值;
          • 指針提供間接訪問(wèn)和變體;
          • 使用表達(dá)式命名類型;
          • 軟件包為root命名空間;
          • 通過(guò)包名導(dǎo)入APIs;
          • 用顯式對(duì)象參數(shù)來(lái)聲明方法;
          • 單繼承、默認(rèn)使用最終類;
          • 強(qiáng)大且經(jīng)過(guò)定義檢查的泛型;
          • 類型顯式地實(shí)現(xiàn)接口。

          Carbon設(shè)計(jì)團(tuán)隊(duì)將著手創(chuàng)建一個(gè)內(nèi)置包管理器,這在C++中非常欠缺。此外,團(tuán)隊(duì)還計(jì)劃編寫一些將C++代碼遷移到Carbon代碼的工具。下圖左為C++代碼,右為Carbon編寫的相同函數(shù):


          為何不大力發(fā)展Rust語(yǔ)言呢?

          有人或許會(huì)問(wèn)了:最近有專門為解決內(nèi)存安全性能應(yīng)用的需求而構(gòu)建的Rust語(yǔ)言,為何不直接使用它呢?Carruth對(duì)此表示,如果Rust適合你,就繼續(xù)使用。但是,將C++的生態(tài)系統(tǒng)轉(zhuǎn)移到Rust非常困難。



          相比之下,Carbon是建立在已有C++生態(tài)系統(tǒng)之上,適合那些已經(jīng)擁有大量C++代碼庫(kù)的開(kāi)發(fā)人員,這些庫(kù)很難轉(zhuǎn)換到Rust。

          Carbon有望成為C++的「繼任者」

          計(jì)算機(jī)編程語(yǔ)言是程序設(shè)計(jì)最重要的工具,每個(gè)程序員都有自己熟悉的一套編程語(yǔ)言。

          此前,谷歌也開(kāi)源了編程語(yǔ)言。例如2006年谷歌開(kāi)源Go語(yǔ)言,其目標(biāo)是兼具Python 等動(dòng)態(tài)語(yǔ)言的開(kāi)發(fā)速度和C/C++等編譯型語(yǔ)言的性能與安全性,短短幾年,Go成為最熱門語(yǔ)言之一,許多大公司用Go來(lái)開(kāi)發(fā)自己的產(chǎn)品。與此同時(shí),最初旨在替代 JavaScript 的 Dart 編程語(yǔ)言直到 Flutter 發(fā)布才成為主流。

          這次谷歌內(nèi)部新打造的編程語(yǔ)言Carbon,還處于實(shí)驗(yàn)性階段,大家的評(píng)價(jià)如何呢?


          有網(wǎng)友表示:C++對(duì)于特定的任務(wù)是好的,但現(xiàn)在看起來(lái)就像一個(gè)怪物,而現(xiàn)在Carbon看起來(lái)就很不錯(cuò)。



          更有人表示Carbon有望成為C++的「繼任者」:


          不過(guò)也有人認(rèn)為:Carbon底層是用C++實(shí)現(xiàn)的,一個(gè)用C++實(shí)現(xiàn)的編程語(yǔ)言,想要替代C++,說(shuō)服力不夠。不過(guò)預(yù)測(cè)又會(huì)有一批新程序員上岸Carbon。

          ?

          還有網(wǎng)友想讓Carbon與JavaScript進(jìn)行一番比較,看看哪個(gè)更好:


          幾年之后,Carbon會(huì)不會(huì)又成為一種熱門編程語(yǔ)言呢?

          原文鏈接:
          https://twitter.com/code_report
          https://9to5google.com/2022/07/19/carbon-programming-language-google-cpp/
          https://thenewstack.io/google-launches-carbon-an-experimental-replacement-for-c/?


          加入知識(shí)星球【我們談?wù)摂?shù)據(jù)科學(xué)】

          500+小伙伴一起學(xué)習(xí)!








          · 推薦閱讀 ·

          不只是快,詳解geopandas新版文件讀寫

          純Python開(kāi)發(fā)在線GeoJSON數(shù)據(jù)生成器

          新一代Python包管理工具來(lái)了


          瀏覽 50
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  欧美高清中文字幕精品日韩不卡国产在线一区 | 一级性爱视频中文字幕 | 干屄免费看| 在线成人视频网站大香蕉在线网站 | 天天操夜夜操豆花视频 |