【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

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

  • 2015-05-05
  • 本文字数:1556 字

    阅读完需:约 5 分钟

随着 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-05-05 09:192187
用户头像

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

关注

评论

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

架构师训练营大作业1

邓昀垚

第十三周 数据应用2 总结

三板斧

极客大学架构师训练营

bit位操作及其算法应用

Skysper

算法 位运算

多线程之信号量(By C++)

赖猫

c++ 多线程

思考-国际化系统表结构设计

BerryMew

架构师训练营第十周作业

丁乐洪

生产环境全链路压测建设历程 20:某快递 A 股上市公司的生产压测案例之彩蛋

数列科技杨德华

全链路压测 七日更

一个HashMap能跟面试官扯上半个小时

安琪拉的博客

Java HashMap底层原理

加快你ROS安装的一篇文章

良知犹存

ROS

回溯和动态规划解决每次移动一步最终回到原地算法、富兰克林成功要素和狗熊掰棒子、swift多线程编程入门operation John 易筋 ARTS 打卡 Week 31

John(易筋)

ARTS 打卡计划 富兰克林成功要素 狗熊掰棒子 动态规划解决移动回到原地 swift operation

分布式缓存架构设计和一致性HASH

我们新四军不拿群众一针一线

skynet源码分析之网络层—Lua层

赖猫

c++ lua skynet

工具之书:《账簿与权力》与 GNUCash

lidaobing

GNUCash 28天写作

到底什么是 CDN

转山转水

CDN

Multi-Architecture镜像制作指南已到,请查收!

华为云开发者联盟

Docker Kubernetes 容器 镜像 Multi-Architecture

第十周作业

Jack

你不得不知道的反射(非常重要)

安琪拉的博客

Java 反射 java反射

ModelArts黑科技揭秘|模型智能评估、诊断,让模型来个“体检

华为云开发者联盟

AI 模型 华为云 modelarts 智能诊断

架构师训练营 1 期 - 第十三周 - 数据应用 2

三板斧

极客大学架构师训练营

垃圾回收你懂,Java垃圾回收你懂吗?

华为云开发者联盟

Java 虚拟机 存储 对象 垃圾回收

Thread 线程,状态转换、方法使用、原理分析

小傅哥

线程 小傅哥 Thread 七日更 状态流转

今天,我们为什么应该读懂华为人工智能?

脑极体

科技抗疫,少年可期,为这群有AI的天使开发者疯狂打call

华为云开发者联盟

人工智能 华为云 modelarts 医疗AI 对象存储服务OBS

刘华:戏说Docker和K8s,一文让你成为懂王

刘华Kenneth

Docker 云计算 Kubernetes DevOps k8s

如何解决MySQL主从数据库没有同步的问题?

冰河

MySQL 高可用 主从复制

笔记|怎样成为高效学习的人

熊斌

学习 个人成长 成长笔记 七日更

架构师训练营 第十周作业

文江

写技术文章给我带来什么好处?

小林coding

程序人生

瞬间起飞!腾讯大神纯手撸“架构师成手册”网友看完直呼NB!

比伯

Java 编程 架构 面试 计算机

注册中心Eureka源码解析

洛神灬殇

TypeScript | 第五章:高级类型

梁龙先森

typescript 大前端 七日更

Rust 1.0 即将发布:现状与展望_语言 & 开发_Sergio De Simone_InfoQ精选文章