RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

Dart 3將成為100%健全的空安全語(yǔ)言

OSC開(kāi)源社區(qū) ? 來(lái)源:OSC開(kāi)源社區(qū) ? 作者:OSC開(kāi)源社區(qū) ? 2022-12-12 14:48 ? 次閱讀

根據(jù) Dart 的開(kāi)發(fā)進(jìn)度,Dart 編程語(yǔ)言的第三個(gè)主要版本(Dart 3)將于 2023 年中期亮相,屆時(shí) Dart 將成為 100% 健全的空安全語(yǔ)言,變量默認(rèn)是「非空」的。

空值引用可以追溯到 1964 年左右,當(dāng)時(shí)英國(guó)計(jì)算機(jī)科學(xué)家 Tony Hoare 在 ALGOL 語(yǔ)言中引入了這個(gè)概念。但他自己卻把空值引用稱為自己的十億美元錯(cuò)誤,因?yàn)樗鼘?dǎo)致了數(shù)不清的錯(cuò)誤、漏洞和系統(tǒng)崩潰,可能在之后 40 年中造成了十億美元的損失。

Dart 從 2.12 版本開(kāi)始支持健全的空安全,但它保留了運(yùn)行非空安全代碼或部分空安全代碼的模式(混合模式)。

Dart 通過(guò)一系列的靜態(tài)和運(yùn)行時(shí)檢查來(lái)提供健全的空安全。每一個(gè)使用了空安全的 Dart 庫(kù)都會(huì)擁有所有的靜態(tài)檢查和更嚴(yán)格的編譯期的錯(cuò)誤提醒。對(duì)于包含了空安全庫(kù)的混合模式程序也是如此。

以混合模式的空安全為例,它讓軟件包的維護(hù)者可以遷移至空安全的同時(shí),未遷移至空安全的使用者也可以享受 Dart 更新時(shí)的問(wèn)題修復(fù)和改進(jìn)。只不過(guò)混合模式的程序無(wú)法獲得與空安全程序的運(yùn)行時(shí)健全性一致的保證。null 很可能從非空安全的庫(kù)污染到空安全的代碼。

Dart 和 Flutter 的產(chǎn)品經(jīng)理 Michael Thomsen 在博客文章中解釋道:

我們的下一個(gè)版本,也就是 Dart 3,將完成一個(gè)完全健全的空安全語(yǔ)言的開(kāi)發(fā)。作為這項(xiàng)開(kāi)發(fā)工作的最后一步,我們將消除 Dart 語(yǔ)言和核心庫(kù) API 中的歷史遺留問(wèn)題,包括移除已停用的核心庫(kù) API 以及對(duì)非健全的空安全運(yùn)行的支持。

Dart 的轉(zhuǎn)變將有助于在編譯時(shí)捕獲與類型有關(guān)的錯(cuò)誤,并應(yīng)改善代碼的可讀性、可維護(hù)性和提前編譯(AOT)。

由于轉(zhuǎn)變巨大,對(duì)開(kāi)發(fā)者而言肯定是會(huì)產(chǎn)生持續(xù)一段時(shí)間的影響 / 陣痛期,開(kāi)發(fā)者最好是可以在 Dart 3 發(fā)布之前調(diào)整他們的代碼。Google 也已經(jīng)發(fā)布了遷移工具,開(kāi)發(fā)者也能夠相對(duì)輕松地完成遷移工作。

在 Dart 3 發(fā)布后,該語(yǔ)言的下一個(gè)重要里程碑可能是支持將 Dart 代碼編譯成 WebAssembly(Wasm),這將使 Flutter Web 應(yīng)用程序在瀏覽器中作為原生代碼運(yùn)行成為可能。這項(xiàng)工作需要 W3C 和瀏覽器廠商的合作,通過(guò) WasmGC 擴(kuò)展將對(duì)垃圾回收語(yǔ)言的支持加入 Wasm。

1ec61aee-7986-11ed-8abf-dac502259ad0.png

根據(jù) Stack Overflow 2022 年的開(kāi)發(fā)者調(diào)查,Dart 目前在編程語(yǔ)言受歡迎程度上排名第 16 位。在近 7.2 萬(wàn)名受訪者中,約有 6.54% 的受訪者在使用 Dart;相比之下,Kotlin(第 15 位)為 9.16%,Rust(第 14 位)為 9.32%,Go(第 13 位)為 11.15%,Ruby(第 17 位)為 6.05%,Assembly(第 18 位)為 5.47%,Swift 編程語(yǔ)言排在第 19 位,占 4.91%。

審核編輯 :李倩

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

    關(guān)注

    10

    文章

    1942

    瀏覽量

    34707
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3265

    瀏覽量

    57677
  • Dart
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    1748

原文標(biāo)題:Dart 3將成為100%健全的空安全語(yǔ)言

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    谷歌Find My技術(shù)|谷歌Find My Device網(wǎng)絡(luò)將成為智能防丟新增長(zhǎng)點(diǎn)

    谷歌Find My Device網(wǎng)絡(luò)將成為智能防丟新增長(zhǎng)點(diǎn),ST17H65B-PP是倫茨科技完全自主知識(shí)產(chǎn)權(quán)的芯片,是專門(mén)為Google Find My Device服務(wù)
    的頭像 發(fā)表于 12-12 11:37 ?82次閱讀
    谷歌Find My技術(shù)|谷歌Find My Device網(wǎng)絡(luò)<b class='flag-5'>將成為</b>智能防丟新增長(zhǎng)點(diǎn)

    Llama 3 語(yǔ)言模型應(yīng)用

    在人工智能領(lǐng)域,語(yǔ)言模型的發(fā)展一直是研究的熱點(diǎn)。隨著技術(shù)的不斷進(jìn)步,我們見(jiàn)證了從簡(jiǎn)單的關(guān)鍵詞匹配到復(fù)雜的上下文理解的轉(zhuǎn)變。 一、Llama 3 語(yǔ)言模型的核心功能 上下文理解 :Llama 3
    的頭像 發(fā)表于 10-27 14:15 ?263次閱讀

    AISD100系列單相智能安全配電裝置

    安科瑞程瑜 ?187 0211 2087 1AISD100智能單相安全用電裝置概述 AISD100系列單相智能安全配電裝置是安科瑞專為低壓配電側(cè)開(kāi)發(fā)的一款智能
    的頭像 發(fā)表于 09-11 13:47 ?213次閱讀
    AISD<b class='flag-5'>100</b>系列單相智能<b class='flag-5'>安全</b>配電裝置

    按照這樣學(xué)習(xí)C語(yǔ)言,成為卷王不是夢(mèng)!

    在計(jì)算機(jī)編程領(lǐng)域,C語(yǔ)言被譽(yù)為一種強(qiáng)大而靈活的編程語(yǔ)言,掌握好C語(yǔ)言不僅可以讓你輕松駕馭各種編程任務(wù),還能夠?yàn)槟愕穆殬I(yè)生涯打下堅(jiān)實(shí)的基礎(chǔ)。但要成為C
    的頭像 發(fā)表于 07-06 08:04 ?313次閱讀
    按照這樣學(xué)習(xí)C<b class='flag-5'>語(yǔ)言</b>,<b class='flag-5'>成為</b>卷王不是夢(mèng)!

    芯光纖,為什么這么火?

    很多讀者對(duì)空芯光纖技術(shù)很感興趣,問(wèn)這個(gè)芯光纖到底有什么特別。今天這篇文章,我就給大家詳細(xì)科普一下。█什么是芯光纖芯光纖,網(wǎng)上很多文章也稱之為“空心光纖”,英文名
    的頭像 發(fā)表于 05-26 08:04 ?393次閱讀
    <b class='flag-5'>空</b>芯光纖,為什么這么火?

    STM32F429 DISCOVERY USB通信,使用端點(diǎn)3發(fā)送數(shù)據(jù),接收到IN指令包的時(shí)候?yàn)槭裁凑f(shuō)FIFO為呢?

    的狀態(tài)是端點(diǎn)3在收到IN指令包的時(shí)候FIFO為,下面是我對(duì)FIFO進(jìn)行分配的代碼: HAL_PCD_SetRxFiFo( hpcd_USB_OTG_HS, 0x100);//out端點(diǎn)好像是共用一個(gè)接收
    發(fā)表于 05-14 07:21

    什么是接口?接口代碼示例

    這是因?yàn)槊總€(gè)接口的內(nèi)存布局都占用兩個(gè)機(jī)器字長(zhǎng)的內(nèi)容。對(duì)于長(zhǎng)度為N的接口slice來(lái)說(shuō),它的每個(gè)元素都是以2機(jī)器字長(zhǎng)為單元的連續(xù)空間,共占用N*2個(gè)機(jī)器字長(zhǎng)的空間。
    的頭像 發(fā)表于 04-30 12:59 ?724次閱讀

    如何成為一名嵌入式C語(yǔ)言高手?

    如何成為一名嵌入式C語(yǔ)言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語(yǔ)言則是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言之一。成為一名嵌入式C
    發(fā)表于 04-07 16:03

    為什么需要芯光纖?芯光纖是如何工作的

    為了克服傳統(tǒng)光纖在傳輸過(guò)程中的問(wèn)題,提高光通信的效率和性能,芯光纖應(yīng)用而生。
    發(fā)表于 03-29 14:23 ?1062次閱讀
    為什么需要<b class='flag-5'>空</b>芯光纖?<b class='flag-5'>空</b>芯光纖是如何工作的

    Stability AI發(fā)布Stable Code Instruct 3B大語(yǔ)言模型,可編譯多種編程語(yǔ)言

    據(jù)報(bào)道,Stability AI公司近期推出了適配程序員使用的Stable Code Instruct 3B大語(yǔ)言模型,此款模型的顯著特點(diǎn)是能夠?qū)崿F(xiàn)編程語(yǔ)言間的自如切換。
    的頭像 發(fā)表于 03-27 10:04 ?489次閱讀

    如何成為一名嵌入式C語(yǔ)言高手?

    如何成為一名嵌入式C語(yǔ)言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語(yǔ)言則是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言之一。成為一名嵌入式C
    發(fā)表于 03-25 14:12

    AI手機(jī)比例有較大提升 2024年將成為AI手機(jī)的元年

    2024年AI手機(jī)的比例將有較大提升,將成為AI手機(jī)的元年。
    的頭像 發(fā)表于 01-22 11:19 ?1086次閱讀
    AI手機(jī)比例有較大提升 2024年<b class='flag-5'>將成為</b>AI手機(jī)的元年

    商用車(chē)將成為下一階段頭部電池企業(yè)電動(dòng)化滲透的重要方向

    商用車(chē)將成為下一階段電動(dòng)化滲透的重要方向。
    的頭像 發(fā)表于 01-16 09:39 ?851次閱讀

    什么是芯光纖?為什么需要芯光纖?

    芯光纖(Hollow-core fiber)—— 一種新型傳輸媒介 。
    的頭像 發(fā)表于 12-27 09:22 ?953次閱讀
    RM新时代网站-首页