根據 Dart 的開發進度,Dart 編程語言的第三個主要版本(Dart 3)將于 2023 年中期亮相,屆時 Dart 將成為 100% 健全的空安全語言,變量默認是「非空」的。
空值引用可以追溯到 1964 年左右,當時英國計算機科學家 Tony Hoare 在 ALGOL 語言中引入了這個概念。但他自己卻把空值引用稱為自己的十億美元錯誤,因為它導致了數不清的錯誤、漏洞和系統崩潰,可能在之后 40 年中造成了十億美元的損失。
Dart 從 2.12 版本開始支持健全的空安全,但它保留了運行非空安全代碼或部分空安全代碼的模式(混合模式)。
Dart 通過一系列的靜態和運行時檢查來提供健全的空安全。每一個使用了空安全的 Dart 庫都會擁有所有的靜態檢查和更嚴格的編譯期的錯誤提醒。對于包含了空安全庫的混合模式程序也是如此。
以混合模式的空安全為例,它讓軟件包的維護者可以遷移至空安全的同時,未遷移至空安全的使用者也可以享受 Dart 更新時的問題修復和改進。只不過混合模式的程序無法獲得與空安全程序的運行時健全性一致的保證。null 很可能從非空安全的庫污染到空安全的代碼。
Dart 和 Flutter 的產品經理 Michael Thomsen 在博客文章中解釋道:
我們的下一個版本,也就是 Dart 3,將完成一個完全健全的空安全語言的開發。作為這項開發工作的最后一步,我們將消除 Dart 語言和核心庫 API 中的歷史遺留問題,包括移除已停用的核心庫 API 以及對非健全的空安全運行的支持。
Dart 的轉變將有助于在編譯時捕獲與類型有關的錯誤,并應改善代碼的可讀性、可維護性和提前編譯(AOT)。
由于轉變巨大,對開發者而言肯定是會產生持續一段時間的影響 / 陣痛期,開發者最好是可以在 Dart 3 發布之前調整他們的代碼。Google 也已經發布了遷移工具,開發者也能夠相對輕松地完成遷移工作。
在 Dart 3 發布后,該語言的下一個重要里程碑可能是支持將 Dart 代碼編譯成 WebAssembly(Wasm),這將使 Flutter Web 應用程序在瀏覽器中作為原生代碼運行成為可能。這項工作需要 W3C 和瀏覽器廠商的合作,通過 WasmGC 擴展將對垃圾回收語言的支持加入 Wasm。

根據 Stack Overflow 2022 年的開發者調查,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%。
審核編輯 :李倩
-
編程語言
+關注
關注
10文章
1964瀏覽量
39578 -
應用程序
+關注
關注
38文章
3344瀏覽量
60264 -
Dart
+關注
關注
0文章
9瀏覽量
1901
原文標題:Dart 3將成為100%健全的空安全語言
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
汽車網絡安全開發語言選型指南:C/C++/Rust/Java等主流語言對比+Perforce QAC/Klocwork工具支持
微量氧傳感器在空分制氮工藝中的重要性
3秒響應、實時告警!智能井蓋如何成為城市安全的“第一道防線”?
功率放大器在微流控超聲空化實驗中的應用
一文了解Mojo編程語言
如何實現NXP S32K3系列MCU安全調試
Android Studio中的Gemini全面支持Dart和Flutter開發
珈港科技JC100安全芯片簡介
珈港科技JC100安全芯片,助力行業伙伴構建更安全的消費電子產品
物聯網未來發展趨勢如何?
從工業園區到充電站!ACCU-100 如何成為微電網全能管理專家?
如何成為一名合格的KaihongOS北向應用開發工程師
智慧空壓站數據采集遠程監控系統方案
Dart 3將成為100%健全的空安全語言
評論