0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Dart 3将成为100%健全的空安全语言

OSC开源社区 来源:OSC开源社区 作者:OSC开源社区 2022-12-12 14:48 次阅读

根据 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。

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

根据 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

    文章

    1945

    浏览量

    34746
  • 应用程序
    +关注

    关注

    37

    文章

    3268

    浏览量

    57715
  • Dart
    +关注

    关注

    0

    文章

    9

    浏览量

    1748

原文标题:Dart 3将成为100%健全的空安全语言

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    谷歌Find My技术|谷歌Find My Device网络将成为智能防丢新增长点

    谷歌Find My Device网络将成为智能防丢新增长点,ST17H65B-PP是伦茨科技完全自主知识产权的芯片,是专门为Google Find My Device服务
    的头像 发表于 12-12 11:37 104次阅读
    谷歌Find My技术|谷歌Find My Device网络<b class='flag-5'>将成为</b>智能防丢新增长点

    Llama 3 语言模型应用

    在人工智能领域,语言模型的发展一直是研究的热点。随着技术的不断进步,我们见证了从简单的关键词匹配到复杂的上下文理解的转变。 一、Llama 3 语言模型的核心功能 上下文理解 :Llama 3
    的头像 发表于 10-27 14:15 281次阅读

    HarmonyOS NEXT应用元服务开发标注屏幕朗读内容的场景

    朗读时无障碍文本的优先级大于显示文本,即当无障碍文本不为时,会朗读无障碍文本,否则朗读显示文本。 所以: 对于文本类控件,尽量使用显示文本来表达信息,使视障用户和视力健全用户可以获取到相同的信息
    发表于 10-12 15:52

    AISD100系列单相智能安全配电装置

    安科瑞程瑜  187 0211 2087 1AISD100智能单相安全用电装置概述 AISD100系列单相智能安全配电装置是安科瑞专为低压配电侧开发的一款智能
    的头像 发表于 09-11 13:47 218次阅读
    AISD<b class='flag-5'>100</b>系列单相智能<b class='flag-5'>安全</b>配电装置

    按照这样学习C语言成为卷王不是梦!

    在计算机编程领域,C语言被誉为一种强大而灵活的编程语言,掌握好C语言不仅可以让你轻松驾驭各种编程任务,还能够为你的职业生涯打下坚实的基础。但要成为C
    的头像 发表于 07-06 08:04 322次阅读
    按照这样学习C<b class='flag-5'>语言</b>,<b class='flag-5'>成为</b>卷王不是梦!

    芯光纤,为什么这么火?

    很多读者对空芯光纤技术很感兴趣,问这个芯光纤到底有什么特别。今天这篇文章,我就给大家详细科普一下。█什么是芯光纤芯光纤,网上很多文章也称之为“空心光纤”,英文名
    的头像 发表于 05-26 08:04 393次阅读
    <b class='flag-5'>空</b>芯光纤,为什么这么火?

    STM32F429 DISCOVERY USB通信,使用端点3发送数据,接收到IN指令包的时候为什么说FIFO为呢?

    的状态是端点3在收到IN指令包的时候FIFO为,下面是我对FIFO进行分配的代码: HAL_PCD_SetRxFiFo( hpcd_USB_OTG_HS, 0x100);//out端点好像是共用一个接收
    发表于 05-14 07:21

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

    这是因为每个接口的内存布局都占用两个机器字长的内容。对于长度为N的接口slice来说,它的每个元素都是以2机器字长为单元的连续空间,共占用N*2个机器字长的空间。
    的头像 发表于 04-30 12:59 738次阅读

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之一。成为一名嵌入式C
    发表于 04-07 16:03

    为什么需要芯光纤?芯光纤是如何工作的

    为了克服传统光纤在传输过程中的问题,提高光通信的效率和性能,芯光纤应用而生。
    发表于 03-29 14:23 1080次阅读
    为什么需要<b class='flag-5'>空</b>芯光纤?<b class='flag-5'>空</b>芯光纤是如何工作的

    Stability AI发布Stable Code Instruct 3B大语言模型,可编译多种编程语言

    据报道,Stability AI公司近期推出了适配程序员使用的Stable Code Instruct 3B大语言模型,此款模型的显著特点是能够实现编程语言间的自如切换。
    的头像 发表于 03-27 10:04 499次阅读

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之一。成为一名嵌入式C
    发表于 03-25 14:12

    AI手机比例有较大提升 2024年将成为AI手机的元年

    2024年AI手机的比例将有较大提升,将成为AI手机的元年。
    的头像 发表于 01-22 11:19 1094次阅读
    AI手机比例有较大提升 2024年<b class='flag-5'>将成为</b>AI手机的元年

    商用车将成为下一阶段头部电池企业电动化渗透的重要方向

    商用车将成为下一阶段电动化渗透的重要方向。
    的头像 发表于 01-16 09:39 862次阅读