陈天 · Rust 编程第一课
陈天
Tubi TV 研发副总裁
23196 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 65 讲
基础篇 (21讲)
陈天 · Rust 编程第一课
15
15
1.0x
00:00/00:00
登录|注册

大咖助场|开悟之坡(下):Rust的现状、机遇与挑战

最新消息
大会进展
Rust For Linux的进展和预判
Rust进入Linux内核开发
Rust语言特性的完善
Rust面临的挑战
Rust语言的成熟和应用
deref pattern
Rustdoc提升
新的asm!支持
SIMD
协程的稳定化
异步async trait、async drop
泛型特化(Specialization)
泛型关联类型(GAT)
错误处理改进
安全I/O问题
语言自身特性的进化
领域的选择
可持续发展能力
应用场景
生态
成熟度
小结
Rust语言特性的完善
Rust面临的挑战
Rust语言的现状
Rust语言发展与挑战

该思维导图由 AI 生成,仅供参考

你好,我是张汉东。
上篇我们聊了 Rust 语言的现状和机遇,从语言自身的成熟度、语言的生态和应用场景,以及语言的可持续发展能力这三个方面,比较系统地说明 Rust 发展相对成熟的现状。
Rust 语言作为一门新生语言,虽然目前倍受欢迎,但是面临的挑战还很多。我们今天就聊一聊这个话题。
挑战主要来自两个方面:
领域的选择。一门语言唱的再好,如果不被应用,也是没有什么用处。Rust 语言当前面临的挑战就是在领域中的应用。而目前最受关注的是,Rust 进入 Linux 内核开发,如果成功,其意义是划时代的。
语言自身特性的进化。Rust 语言还有很多特性需要支持和进化,后面也会罗列一些待完善的相关特性。

Rust For Linux 的进展和预判

从 2020 年 6 月,Rust 进入Linux 就开始成为一个话题。Linux 创建者 Linus 在当时的开源峰会和嵌入式Linux 会议上,谈到了为开源内核寻找未来维护者的问题。
简单跟你讲一讲背景情况。
Linus 提到:“内核很无聊,至少大多数人认为它很无聊。许多新技术对很多人来说应该更加有趣。事实证明,开源内核很难找到维护者。虽然有很多人编写代码,但是很难找到站在上游对别人代码进行 Review 的人选。这不仅仅是来自其他维护者的信任,也来自所有编写代码的人的信任……这只是需要时间的”。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Rust语言在面临领域选择和自身特性进化的挑战时,进入Linux内核开发成为热门话题。Linus Torvalds对Rust在内核中的应用表示乐观,并认为Rust的应用将对内核发展具有重要战略意义。在2021年的Linux Plumbers大会上,讨论了Rust进入Linux内核的进展,包括Rust的参与角色、代码review问题以及Rust自身特性的稳定问题。此外,Rust在内核中的工作基础设施、编译模型、文档、测试和编码指南等方面也已经有了初步介绍。Rust for Linux在不久的将来将进行一次具有时代意义的实验,如果成功,将意味着Rust正式从C语言手里接过了时代的交接棒。此外,文章还介绍了Rust语言最近完善的特性和待完善的特性,为读者提供了对Rust语言发展的全面了解。 在Rust语言的最新发展中,Rust官方合并了一个RFC,通过引入I/O安全的概念和一套新的类型和特质,弥补了Rust中封装边界的漏洞。对错误处理进行了改进,引入了一个throw语法,帮助开发者省略Ok-wrapping和Err-wrapping的手动操作。最后,文章介绍了泛型关联类型(GAT)的进展,该特性对实现流迭代器和异步trait的支持具有重要意义。 总的来说,本文涵盖了Rust语言在内核开发、特性改进和新特性引入等方面的最新进展,为读者提供了对Rust语言发展的全面了解。文章还提到了Rust语言在异步trait、异步drop、协程稳定化、SIMD、新的asm!支持、Rustdoc提升和deref pattern等待完善特性的进展,展示了Rust语言在不断完善和发展的过程中所面临的挑战和机遇。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《陈天 · Rust 编程第一课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • pedro
    满屏的特性,不禁让我想到当年的c++。 我们真的需要这么多的特性吗,感觉像是中国大厂做APP,一堆Tab页,没几个能用的

    作者回复: 很多特性比如 GAT,async trait / async drop 还是非常重要的。我觉得好的特性是你需要它时,它表露自然;不需要时,甚至都不需要知道它的存在。

    2021-12-20
    2
    3
  • overheat
    有Rust写Linux Device Driver的例子吗?

    作者回复: https://www.infoq.com/news/2021/04/rust-linux-kernel-development/

    2021-12-29
  • 手滑的小熊猫
    噗哈哈哈哈汉东老师说话是很厚重很慢速的。小编代读的吧

    作者回复: :)

    2021-12-20
  • 陈小虎
    东西太多了。。

    作者回复: :)

    2021-12-20
  • 约书亚
    Try trait那里,有些不明白,为什么关联类型要写成 type Residual = Result<!, E>;(我现在使用的是1.65版本,是Result<convert::Infallible, E>)而不是E?我感觉type Residual = E也可以工作呀?
    2022-12-02归属地:天津
    1
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部