业务云原生架构、推荐系统以及线上生活等热点方向的高可用高性能业务架构有哪些?点击了解 了解详情
写点什么

Rust 1.0 即将发布:现状与展望

2015 年 5 月 05 日

随着 Rust 官方正式发布1.0 版的日期临近,Mozilla 研究部门的Niko Matsakis 已经开始初步评估未来要添加到这门语言中的新特性的优先级,以此来引发一场关于Rust 未来发展方向的公开讨论。InfoQ 就此与Matsakis 进行了对话。

Matsakis 的评估报告将新特性分为三个优先级,基于它们的时间敏感性(随着时间推移,加入新特性的难易度)、对 Rust 开发者社区的影响力、可以解决的问题范围分为高、中、低三等。

Matsakis 列举了以下几个最高优先级的特性:

  • 稳定库 API,例如,文件系统 API 和内存分配 API。
  • 更好地支持 Windows 和 ARM,也就是去除 Rust 对于 MinGW 的依赖并支持 ARM64 平台。
  • 更快的编译速度。
  • 更好的工具支持。
  • 分配器和跟踪器提供更多的内存分配控制。
  • 专门化,允许定义一组给定类型的给定 trait 的多种实现。
  • 虚拟结构体,允许在结构体上实现某种形式的继承。

Matsakis 还介绍了几个有可能获得高优先级的特性,例如改进宏和语法扩展。其余特性仍被列为中等优先级或长期计划。InfoQ 借此机会与 Niko Matsakis 畅谈,了解更多有关 Rust 目前和未来的情况.

现在 Rust 1.0**** 几乎快要发布了,你感觉如何?你是否认为这门语言已经到达比较成熟的境界?

快速发展的社区和生态系统使我对发布 Rust 1.0 感到非常自信,crates.io 仓库上现已有几乎 2000 个 crates 可以使用,而且许多非常重要的项目使用 Rust 进行构建(例如,Rust 编译器本身,Servo 以及 Skylight)。

Rust 目前的的设计成果历经了数次迭代,我认为这些迭代有所收获。尽管我们为发布 1.0 版本感到兴奋,不过我认为这的确只是一个开端。我们已经有了许多改进计划,我期待看到他们未来被一一实现。

我非常喜欢这个开源项目,一大群贡献者帮助我们设计和改进 Rust,我认为 1.0 版本发布后这样的开发模式会发展得更好。

Rust**** 支持现代编程语言思想,例如可选类型、泛型、类型推断等,虽然这些编程思想更面向低阶编程,但是仍然吸引了许多人的注意力。你是否可以详细说明一下那些思想对于低阶编程的重要性?

对于那些性能非常重要的情况,拥有机器的低阶控制权是一个绝对的优势。但是目前看来,想要获得低阶控制权通常只会使生产力代价高昂。我们总是期盼着 Rust 可以吸引一些 C++ 程序员,但我们没有意识到的是对于从高阶语言过来的人们来说 Rust 到底有多诱人。

类型系统非常关键:Rust 通过类型系统来增强安全模式,例如所有权和借入,既避免了程序无端崩溃,又可让低阶编程更好更快。这进一步表示,如果你想在生产环境部署一个 Rust app 或者为 crates.io 写一个库,那么你无须储备专家级系统编程经验就可以轻松完成。从语言极客的角度来看,我们从现代语言中借鉴了许多优秀的思想并把它们融入系统编程领域,而我们所做的这一切正是为了让低阶编程远离崩溃,没有烦恼!

除了功能优先级以外,在您看来,Rust正在朝什么方向发展?在未来的 Rust中我们可以期待什么样的特性呢?

Rust 的目标永远是将低阶语言的控制能力和高阶语言的表达能力相结合(不向任何一方妥协)。就语言本身而言,我期望我们将继续同时向这两个方向发展。

这意味着 Rust 会加入更多低阶特性,例如自定义分配器,但同时拥有更多高阶表达能力,例如支持元编程。展望这门语言的未来,我认为 Rust 将会被广泛应用于工具和基础设施领域。

最后,新加入的使用者和社区将会使 Rust 更稳定,不断为其设计新特性并持续改进,对此我倍感自信,新鲜血液终将为我们带来目前无法想象的更伟大的新思想。

查看英文原文: Rust Beyond 1.0: Where It Stands, Where It is Headed


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015 年 5 月 05 日 09:191762
用户头像

发布了 63 篇内容, 共 125.8 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

分布式系统架构学习总结(第四周)

~就这样~

计算机操作系统基础(九)---存储管理之段页式存储管理

书旅

php laravel 线程 操作系统 进程

Week4总结

王志祥

极客大学架构师训练营

使用 Flutter 快速实现请假与写周报应用

LeanCloud

flutter 数据 教程 后端开发

游戏夜读 | 关卡设计新手必看

game1night

week 04 作业

Safufu

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十四)编写测试-内建扩展

编程道与术

Java 编程 TDD 单元测试 JUnit

从 0 到 1 搭建技术中台之推送平台实践:高吞吐、低延迟、多业务隔离的设计与实现

伴鱼技术团队

kafka 缓存 分布式架构 消息推送 push

极客大学架构师训练营 系统架构 第8课 听课总结

John(易筋)

极客时间 系统架构 极客大学 极客大学架构师训练营 系统架构演化

javascript 部分数据类型的用法

Isuodut

如何构建你自己的 JVM (2) HelloWorld

孤星可

Java JVM 深入理解JVM

系统架构:学习小结

行下一首歌

极客大学架构师训练营

年薪百万架构师推荐的888页Java王者级核心宝典,offer直接来

无予且行

Java 面试必考的 6 个技能,都在这了

架构大数据双料架构师

让你秒懂Spring中Mybatis的花样配置

小谈

Java spring Spring Cloud mybatis Java 面试

终于有大佬把TCP/IP协议讲清楚了!面试再也不怂面试官提问了

小闫

jdk JVM Netty buffer TCP/IP

架构师0期04周总结

我在终点等你

面试官:十亿级数据ES搜索怎么优化?我直接傻了

犬来八荒

Java 面试 大厂

七月份最新“美团+字节+腾讯”面试题,测试一下你能走到哪一面?

犬来八荒

Java 面试 java面试 大厂面试 线程’

Google官方MVP+Dagger2架构详解

小吴选手

架构 架构师 架构是训练营

「NIO系列」——之Reactor模型

小谈

Spring Boot reactor 后端 nio SpringCloud

week 04 总结

Safufu

架构师0期04周命题作业

我在终点等你

这20道微服务面试题要是不会,offer就与你无缘

犬来八荒

Java 架构 微服务 面试题 Java 面试

如何写好一封邮件?

石云升

职场 职场成长 邮件

攻克SpringBoot底层源码后,才发现开发原来这么香

无予且行

Java spring Spring Boot 开发 Java 面试

到底什么是HashMap?

小闫

Java spring 后端 JVM hashmap

Linux 性能优化实战 笔记-IO篇

程序员老王

被“假”老干妈耍惨了?憨憨腾讯花1624万卖萌,引全网吃瓜!

程序员生活志

腾讯 互联网 大厂

如果是你,年薪80万和阿里P7月薪36K,会怎么选?

犬来八荒

Java 腾讯 面试 阿里 java面试

基于 Flagger 和 Nginx-Ingress 实现金丝雀发布

郭旭东

Kubernetes CI/CD

openEuler Developer Day 2021

openEuler Developer Day 2021

Rust 1.0 即将发布:现状与展望-InfoQ