根據(jù) Dart 的開發(fā)進(jìn)度,Dart 編程語言的第三個(gè)主要版本(Dart 3)將于 2023 年中期亮相,屆時(shí) Dart 將成為 100% 健全的空安全語言,變量默認(rèn)是「非空」的。
空值引用可以追溯到 1964 年左右,當(dāng)時(shí)英國(guó)計(jì)算機(jī)科學(xué)家 Tony Hoare 在 ALGOL 語言中引入了這個(gè)概念。但他自己卻把空值引用稱為自己的十億美元錯(cuò)誤,因?yàn)樗鼘?dǎo)致了數(shù)不清的錯(cuò)誤、漏洞和系統(tǒng)崩潰,可能在之后 40 年中造成了十億美元的損失。
Dart 從 2.12 版本開始支持健全的空安全,但它保留了運(yùn)行非空安全代碼或部分空安全代碼的模式(混合模式)。
Dart 通過一系列的靜態(tài)和運(yùn)行時(shí)檢查來提供健全的空安全。每一個(gè)使用了空安全的 Dart 庫都會(huì)擁有所有的靜態(tài)檢查和更嚴(yán)格的編譯期的錯(cuò)誤提醒。對(duì)于包含了空安全庫的混合模式程序也是如此。
以混合模式的空安全為例,它讓軟件包的維護(hù)者可以遷移至空安全的同時(shí),未遷移至空安全的使用者也可以享受 Dart 更新時(shí)的問題修復(fù)和改進(jìn)。只不過混合模式的程序無法獲得與空安全程序的運(yùn)行時(shí)健全性一致的保證。null 很可能從非空安全的庫污染到空安全的代碼。
Dart 和 Flutter 的產(chǎn)品經(jīng)理 Michael Thomsen 在博客文章中解釋道:
我們的下一個(gè)版本,也就是 Dart 3,將完成一個(gè)完全健全的空安全語言的開發(fā)。作為這項(xiàng)開發(fā)工作的最后一步,我們將消除 Dart 語言和核心庫 API 中的歷史遺留問題,包括移除已停用的核心庫 API 以及對(duì)非健全的空安全運(yùn)行的支持。
Dart 的轉(zhuǎn)變將有助于在編譯時(shí)捕獲與類型有關(guān)的錯(cuò)誤,并應(yīng)改善代碼的可讀性、可維護(hù)性和提前編譯(AOT)。
由于轉(zhuǎn)變巨大,對(duì)開發(fā)者而言肯定是會(huì)產(chǎn)生持續(xù)一段時(shí)間的影響 / 陣痛期,開發(fā)者最好是可以在 Dart 3 發(fā)布之前調(diào)整他們的代碼。Google 也已經(jīng)發(fā)布了遷移工具,開發(fā)者也能夠相對(duì)輕松地完成遷移工作。
在 Dart 3 發(fā)布后,該語言的下一個(gè)重要里程碑可能是支持將 Dart 代碼編譯成 WebAssembly(Wasm),這將使 Flutter Web 應(yīng)用程序在瀏覽器中作為原生代碼運(yùn)行成為可能。這項(xiàng)工作需要 W3C 和瀏覽器廠商的合作,通過 WasmGC 擴(kuò)展將對(duì)垃圾回收語言的支持加入 Wasm。
根據(jù) Stack Overflow 2022 年的開發(fā)者調(diào)查,Dart 目前在編程語言受歡迎程度上排名第 16 位。在近 7.2 萬名受訪者中,約有 6.54% 的受訪者在使用 Dart;相比之下,Kotlin(第 15 位)為 9.16%,Rust(第 14 位)為 9.32%,Go(第 13 位)為 11.15%,Ruby(第 17 位)為 6.05%,Assembly(第 18 位)為 5.47%,Swift 編程語言排在第 19 位,占 4.91%。
審核編輯 :李倩
-
編程語言
+關(guān)注
關(guān)注
10文章
1955瀏覽量
36079 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3322瀏覽量
58719 -
Dart
+關(guān)注
關(guān)注
0文章
9瀏覽量
1820
原文標(biāo)題:Dart 3將成為100%健全的空安全語言
文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
空壓站安全監(jiān)測(cè)自動(dòng)告警系統(tǒng)方案
如何成為一名合格的北向應(yīng)用開發(fā)工程師
SMT貼片空焊異常
谷歌Find My技術(shù)|谷歌Find My Device網(wǎng)絡(luò)將成為智能防丟新增長(zhǎng)點(diǎn)

RHEL即將成為微軟WSL的官方Linux發(fā)行版
Llama 3 語言模型應(yīng)用
ATA-2021B高壓放大器在微流控超聲空化實(shí)驗(yàn)中的應(yīng)用

HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)標(biāo)注屏幕朗讀內(nèi)容的場(chǎng)景

挑戰(zhàn)100個(gè)ICMAN“芯”實(shí)驗(yàn)-隔空感應(yīng) #pcb設(shè)計(jì) #傳感器技術(shù) #電子愛好者
AISD100系列單相智能安全配電裝置

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

評(píng)論