BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 刘振涛 关注 23 他的粉丝 发布于 2015年5月6日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

随着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读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT