微软工程师展望 Rust 2023:重写编译器、解决管理问题
Nick Cameron 是就职于微软负责 Rust 开发的首席工程师,此前是 Rust 核心开发团队的成员。他在 3 个月前发表文章:“Rust 面临的十大挑战”,称这是 Rust 应该在 2023 年要解决的问题。
上周他又发表了文章:“Rust in 2023”,表达对 Rust 和 Rust 社区在 2023 年的展望,比如优先要做的工作,以及 Rust 值得着手改进的方向。
两件重要大事
- 解决 Rust 社区的治理和领导问题
Nick Cameron 认为,目前最重要的是解决 Rust 社区的治理和领导问题。原因在于这些问题阻碍了许多潜在工作,而且持续时间越长,会导致项目累积的“治理债”越多。更令人尴尬的是,在 Rust 核心团队内讧一年多后,仍没有关于新领导团队的建议。
而对于 Rust 的治理,Nick Cameron 认为需要更新 RFC 流程,以及重新审视团队和工作组的组织架构。目前由于缺少领导团队完成当前变革,这些工作都停滞了。
此外,他认为 Rust 要重写审视“稳定而不停滞”的战略。避免停滞非常重要,Rust 不能停止创新,但也不能无限制地任由其发展。因为语言的复杂性和规模是有代价的,这与 Rust 让人们编写可靠和高性能软件的使命不一致(他认为需要让编程语言更简单、更小、更易于使用)。仅仅保持向后兼容性并不意味着实现了稳定性。
Nick 表示自己有点担心 Rust 正在讨论或设计的新功能的数量,而且目前也没有关于 Rust 发展方向的策略。
- 重写编译器
Nick 认为,Rust 目前的架构已经难以支持实现增量编译、并行编译等功能。重新开始则可以使用上更多的技术,团队可以通过这种机会认真优化编译时间,简化未来的开发难度。再结合 Rust 2.0,他们可以减少由于向后兼容而导致的技术债,并改进语言,实现更快的编译。
其他值得着手改进的地方
- Cargo
Cargo(和 crates.io)是非常重要的工具,并且处于很多重要事情的关键路径上(供应链安全、常规安全、与其他语言的集成、与其他构建系统的集成、构建时间……),但目前对它的资源投入严重不足,几乎不可能取得进展(需要明确的是,目前的团队不应该受到责备,他们在恶劣的条件下做得很好,只是由于这是一项艰苦的工作)。
Nick 提出了解决这个问题的方案:向 Cargo 和 crates.io 团队中任何愿意接手它的人提供资金,集中指导潜在的新团队成员(如果这些人不存在,然后说服一些支持 Rust 的大公司,让他们每家找一个人把 1/4 的工作时间花在 Cargo 上),然后与这些成员一起快速扩大团队(即使他们对代码库只有部分了解),并再次开始鼓励贡献和新功能。
- 异步
目前异步编程的相关工作进展得很顺利,Nick 称希望事情在 2023 年开始好转并取得实实在在的成果。关于这一点,他对自己的缓慢进展感到有些沮丧,遗憾的是,大多数异步工作组都在忙着其他事情。不过事情正在发生变化,他认为,对于异步来说,2023 年将是令人兴奋的一年。它应该仍然是 Rust 的一个高度优先事项。
- 不安全编程
不安全代码指南工作组及其他一些人在定义 Rust 内存模型方面做了很多工作,并为不安全编程提供了工具和指南。Nick 认为,对 Rust 来说,进一步推进这方面的工作非常重要。因为安全性是 Rust 的主要卖点,为了让不安全编程变得更安全、更简单,我们做得越多越好。
原文:https://www.ncameron.org/blog/rust-in-2023/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
招募不到维护者,Go 语言 Web 工具包 Gorilla 归档
流行的开源 Go 语言 Web 工具包 Gorilla 宣布已正式归档,目前已进入只读模式。“它发出的信号是,这些库在未来将不会有任何发展。” 根据介绍,Gorilla Web Toolkit是一个用于基于 Web 的应用程序的流行开源Go工具包,由一些增强 Go 基础库以添加重要功能(例如参数化路由和会话管理)的包组成。其中,尤其是它的 Web 请求路由器mux一直相当受欢迎;在超过 90,000 个软件库中被使用,且在 Cilium、Istio 和 Open Policy Agent 等顶级项目中被调用执行任务。Gorilla 的 WebSocket 库甚至被用于 Kubernetes 中。 gorilla/mux 的 first commit是在 2012 年 10 月,也就是在 Go 达到 1.0 版本之后的几个月时间内。gorilla/websocket 开始于 2013 年 10 月,而其他一些形成 "Gorilla Toolkit"的包,也大约在同一时间涌现。 项目的主要维护者 Matt Silverlock在公告中指出,项目归档的主要原因在于维护者的缺乏。 原作者和维护...
- 下一篇
[官宣新晋开源项目] RedisFront 加入 Dromara 社区,开源跨平台 Redis 桌面客户端工具
一、RedisFront简介 RedisFront是一款开源跨平台的Redis桌面客户端工具,基于Java Swing开发,其特点是简单易用,功能丰富;支持String、Hash、Set、List、ZSet、Stream等多种数据类型的管理,同时支持SSH隧道连接以及 SSL/TLS连接,对于Redis Cluster、Sentinel模式也有非常完善的支持,可轻松管理百万甚至千万级缓存数据。 二、RedisFront特色功能 支持Redis Cluster连接,可自动识别发现其他节点 支持Redis Sentinel连接,可自动发现并重定向Master节点,也可选择进入Sentinel节点 支持远程Cli命令执行 支持Redis发布订阅( pub/sub) 支持SSH隧道连接 支持JSON值自动格式化 支持便携模式(可将RedisFront绿色版放置移动存储设备中使用) 提供简易实用的Redis监控 提供Key内存占用分析 提供Key批量删除功能 三、RedisFront下载安装 RedisFront 提供了多个操作系统平台的二进制安装包和绿色版压缩包,可根据自己电脑操作系统下载对应...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果