Dart 3将成为100%健全的空安全语言
出品 | OSC开源社区(ID:oschina2013)
根据 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%。
相关链接:https://medium.com/dartlang/the-road-to-dart-3-afdd580fbefa
https://medium.com/dartlang/the-road-to-dart-3-afdd580fbefa
相关阅读
-
Dart 3将成为100%健全的空安全语言
出品|OSC开源社区(ID:oschina2013)根据Dart的开发进度,Dart编程... -
看点:“可信”的恶意软件:Windows代码...
今天分享的论文主题为Windows代码签名PKI的信任破坏,该工作由美国... -
世界微资讯!脸书可能被罚二十亿欧元一...
今天和大家分享的是对脸书可能被罚二十亿欧元一案的前瞻分析。作者... -
天天最新:美国会通过《2023年国防授权...
【据美国《防务头条》12月6日报道】根据法案,2023年预算总额高达85... -
打破隔离网络!研究员披露最新DNS窃密漏洞
前情回顾·打破物理隔离神话打破物理隔离!利用电源信号灯的轻微闪... -
勒索软件盯上“黑色星期五”,法国体育...
近日,Hive勒索软组织对外公布了在11月份对法国体育零售商Interspor...