91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

谷歌宣布了一門新的編程語言Carbon

OpenCV學堂 ? 來源:量子位 ? 作者:量子位 ? 2022-08-02 11:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今年的CPP North C++大會上,谷歌宣布了一門新的編程語言Carbon,并稱其將是“C++的繼任者”。

谷歌將其在GitHub上開源。雖然這個語言目前還處于實驗階段,但還是很快吸了引眾多程序員前來圍觀,還一度登上了GitHub趨勢榜第一,現已收獲標星21.3k。

f272973e-11a6-11ed-ba43-dac502259ad0.png

對于谷歌方開發者稱Carbon是C++的繼承者一事,有國外媒體詢問了C++之父Bjarne Stroustrup的看法,老爺子表示:

這些年總是有新的語言試圖成為C++的繼承者,我歡迎對編程語言和編程風格進行實驗;

但Carbon太新且規范不足,我無法真正做出有意義的技術評論。而通常在不開發全新語言規則、庫和管理方案的情況下,很難提供C++的替代方案。

所以谷歌團隊為什么非要搞一個C++“替代版”而不是繼續完善現有的C++?畢竟他們自己內部都在廣泛使用這個語言。

為什么不去升級C++?

對此,帶領團隊開發Carbon的谷歌工程師錢德勒·卡魯斯(Chandler Carruth)解釋稱,C++至今已有40歲了,其自身的很多問題困擾著現在的開發人員。

數十年來,C++已積累了許多技術負債。其維護者優先考慮向后兼容,以便繼續支持廣泛使用的項目,但這樣容易導致代碼量巨大。

而且C++雖然有開源的編譯器(如gcc),但也有不少閉源編譯器,其中的某些功能可能要過很久才能改善升級。

此外,C++語言的發展也受到了官僚委員會管理程序的阻礙,該程序以標準化而非設計為導向,這種做法導致很難給其添加新功能。

解決這些問題的最佳方法是避免直接繼承C或C++的“遺產”,而是從語言基礎開始,例如:現代泛型系統、模塊化代碼組織、一致的簡單語法等。

卡魯斯也在CPP大會上提到,該語言并不是為了和C++未來改進版本競爭,而是——

“探索用C++做不到的事”

正如微軟創建TypeScript來更新JavaScript那樣,Carbon作為一種在C++基礎上開發的新語言,將為更多開發者解決內存安全和泛型等問題,來彌補C++的不足。

目前Carbon語言的亮點包括:

Introducer關鍵字和簡單語法;

函數輸入參數為只讀值;

指針提供間接訪問和變體;

使用表達式命名類型;

通過包名導入APIs;

強大且經過定義檢查的泛型

......

此外,谷歌正在繼續開發Carbon以支持以下功能:

性能關鍵型軟件;

軟件和語言的演變;

易于閱讀、理解和編寫的代碼;

實用的安全和測試機制;

快速且可擴展的開發;

現代操作系統平臺、硬件架構和環境;

與現有C++代碼的互操作性和遷移性。

開發團隊還將創建一個內置包管理器,這是C++中非常缺乏的。

舉個簡單的例子:用C++代碼和Carbon代碼分別計算半徑為1和2的兩個圓面積之和。二者對比如圖:

f2c4d0ee-11a6-11ed-ba43-dac502259ad0.jpg

△圖源:GitHub;左為C++代碼,右為Carbon代碼

下圖展示了Carbon和C++互通性。程序員可以在Carbon上調用C++庫、方法和函數,而不需要額外的開銷,反之亦然。

f2d90e6a-11a6-11ed-ba43-dac502259ad0.png

不過至于安全問題,Carbon并沒有一開始就建立內存安全系統。

卡魯斯介紹說,由于C++內存安全性很差,所以Carbon的研發起點很低,該項目優先考慮的是遷移而不是安全;希望以后Carbon至少可以和Go或Swift一樣安全。

事實上,在Carbon之前,Mozilla(就是開發火狐那個)于2015年就發布了一個也標榜自己為“C++繼承者”的語言:Rust,而且這個Rust很注重內存安全性。

那為什么不大力發展Rust呢?

“Carbon是為有大量C++庫者準備的”

卡魯斯在CPP會議上對此回應稱,C++和Rust之間的銜接性不好,要將C++的生態系統轉移到Rust非常困難。

對于那些已經擁有大量C++代碼庫的開發者來說,要把自己之前的東西搬到Rust編輯器上就很麻煩了。

而Carbon被設計成一種C++的后繼語言,它以后將實現和C++無縫連接,并具備與C++的雙向互操作性,這對于有大量C++代碼庫者非常友好。

對于那些沒有這種“煩惱”的程序員們,卡魯斯表示,想用Rust的話就繼續用好了。

網友紛紛圍觀

前來圍觀Carbon的一眾網友中,有人表示支持谷歌開發這個新語言:

若能在這里直接調用C語言庫的低層級Stuff函數,而不需在開頭加行extern “C”,是很了不起的。

f2f363c8-11a6-11ed-ba43-dac502259ad0.jpg

有人認同其簡化語言和提升安全性的目標,但他覺得要在現有的語言中改進內存安全并不太容易,現有的C++特征和API很可能會約束這個新語言的發展。

f306c684-11a6-11ed-ba43-dac502259ad0.jpg

當然也有網友并不看好Carbon,認為谷歌有棄用創新軟件的習慣,這個聽起來很炸的項目可能會半途而廢。

f31c2f56-11a6-11ed-ba43-dac502259ad0.jpg

還有人提出:Carbon這個用C++實現的語言居然想要替代C++?

有網友覺得,現在Rust正在逐步成為低級程序語言,Carbon和Rust有不少相似之處,僅憑“讓C++遷移更容易”并沒有什么賣點。

f333389a-11a6-11ed-ba43-dac502259ad0.jpg

此外,Hacker News上還有網友想到了D語言(DLang),這個語言和C++的互通性很不錯。而且D語言也有Carbon的不少功能,包括和C++相互調用、減少額外的開銷等。

可惜由于D語言的初期定位不夠清晰,一度試圖涵蓋Java和C++的功能,導致它比較小眾。

f34a052a-11a6-11ed-ba43-dac502259ad0.jpg

審核編輯 :李倩

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

    關注

    27

    文章

    6231

    瀏覽量

    108134
  • 編程語言
    +關注

    關注

    10

    文章

    1956

    瀏覽量

    36649
  • C++
    C++
    +關注

    關注

    22

    文章

    2119

    瀏覽量

    75308

原文標題:“C++繼任者”火到GitHub趨勢榜一,C++之父卻不認可!

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    gitee 支持的編程語言有哪些

    Gitee(碼云)是個基于 Git 的代碼托管和研發協作平臺,類似于 GitHub 和 GitLab。它支持多種編程語言,允許開發者托管和管理代碼,進行版本控制,以及協作開發。以下是
    的頭像 發表于 01-06 09:50 ?673次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 、主要編程語言 Python :Triton編譯器通過Python接口提供
    的頭像 發表于 12-24 17:33 ?966次閱讀

    谷歌宣布項重要人事任命

    近日,谷歌云(Google Cloud)正式宣布項重要人事任命,尹世明將加入谷歌云,擔任大中華區總裁
    的頭像 發表于 11-18 15:07 ?598次閱讀

    編程語言的誤區與常見問題

    誤區編程語言的選擇 常見問題: 初學者在選擇編程語言時,往往會被市場上的熱門語言所吸引,而忽
    的頭像 發表于 11-15 09:35 ?750次閱讀

    單片機編程語言有哪些選擇

    些常用的單片機編程語言,以及它們的特點和應用場景: 1. C語言 特點 :C語言種通用的編程
    的頭像 發表于 11-01 14:13 ?2423次閱讀

    MCU編程語言和開發環境介紹

    MCU編程語言 MCU編程語言是用于編寫MCU程序的高級編程語言,它們使得開發者能夠更高效地開
    的頭像 發表于 11-01 11:51 ?2194次閱讀

    C語言與其他編程語言的比較

    C語言作為種歷史悠久的編程語言,自其誕生以來,直在軟件開發領域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統級
    的頭像 發表于 10-29 17:30 ?1080次閱讀

    Orin芯片的編程語言支持

    Orin是款高度集成、高性能的車載計算平臺,由英偉達推出,并采用了英偉達自家的Volta架構GPU和其他高級處理器技術。關于Orin芯片的編程語言支持,可以從以下幾個方面進行介紹:
    的頭像 發表于 10-27 16:45 ?987次閱讀

    C++能不能讓編譯器自動推導變量類型嗎

    隨著計算機性能的持續提升,編程語言似乎迎來了次大爆發,各種編程語言不斷出現,樂意折騰的人總能找到一門
    的頭像 發表于 10-24 17:22 ?2302次閱讀

    CNC系統般可用幾種編程語言

    。CNC系統廣泛應用于機械制造、汽車制造、航空航天等領域。  CNC系統的編程語言是實現CNC系統控制功能的關鍵技術之。以下是對CNC系統可用編程
    的頭像 發表于 10-23 15:52 ?1514次閱讀

    plc編程語言編程相關技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關編程技巧是工業自動化領域中不可或缺的知識。 、PLC編程
    的頭像 發表于 10-21 16:56 ?1114次閱讀

    聯發科新代天璣旗艦芯片針對谷歌語言模型Gemini Nano優化

    近日,聯發科宣布個重要的技術進展——新代天璣旗艦芯片已經針對谷歌的大語言模型Gemini
    的頭像 發表于 10-09 16:44 ?821次閱讀

    plc編程st語言怎么編

    PLC(可編程邏輯控制器)編程中的ST(Structured Text)語言種高級編程語言
    的頭像 發表于 08-25 10:05 ?2813次閱讀

    技術干貨驛站 ▏深入理解C語言:掌握程序結構知識

    在計算機編程的世界中,C語言被廣泛認可為一門強大而高效的編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C
    的頭像 發表于 07-27 08:45 ?1859次閱讀
    技術干貨驛站 ▏深入理解C<b class='flag-5'>語言</b>:掌握程序結構知識

    名單公布!【書籍評測活動NO.39】倉頡編程快速上手 | 開發者的第個倉頡語言程序

    這些特性 倉頡編程語言的定位,是面向全場景應用開發的現代編程語言,力圖在開發體驗、語言特性、程序性能之間取得最佳平衡。倉頡非常適合用來實現業
    發表于 07-24 17:01
    主站蜘蛛池模板: 国产成人午夜精品影院游乐网 | 午夜精 | 黄色一级片毛片 | 亚洲色图在线观看视频 | 无人区理论片手机看片 | 免费一看一级毛片全播放 | 久久鬼| 狠狠色噜噜狠狠狠 | 免费的三及片 | 一区二区不卡免费视频 | 国产一区中文字幕在线观看 | av天天看 | 奇米第四777 | 可以直接看的黄址 | 717影院理伦午夜论八戒 | 黄床大片 | 香蕉视频久久久 | 成人丁香婷婷 | 毛片在线看免费版 | 欧美视频区 | 免费黄色小视频 | 色五月丁香五月综合五月 | 亚洲综合亚洲综合网成人 | 免费一看一级毛片全播放 | 五月天丁香激情 | 久久草在线精品 | 色多多免费视频观看区一区 | 手机在线观看视频你懂的 | 午夜性视频播放免费视频 | 国产精欧美一区二区三区 | 亚洲人在线 | 欧美色图亚洲 | 美妇乱人伦性 | 在线观看网址你懂得 | 四虎官网| 男女做视频网站免费观看 | 一本到在线观看视频不卡 | 成人性视频网站 | 逼逼视频网站 | 天天骑天天干 | 亚洲一区二区免费视频 |