写点什么

2017,Rust 将何去何从?

  • 2016-10-31
  • 本文字数:1124 字

    阅读完需:约 4 分钟

Rust 的核心团队敲定了Rust 语言将在接下来的一年何去何从的规划提案。一定程度上基于2016 年在Rust 用户中的调查结果,Rust2017 规划方案优先考虑在不牺牲速度和可靠性的前提下提升Rust 的生产力。

值得一提的是,Rust2016 调查暴露出了一些阻碍Rust 接受度提升的问题,例如,Rust 的学习曲线、程序库和集成开发环境的缺乏、语言成熟度的担忧以及编译性能。Rust2017 规划方案重点强调了这些问题,并提供了一份详细的改进方案。

学习曲线

在Rust2016 调查中,有近四分之一反馈者提到Rust 的学习曲线。这可能一定程度上跟Rust 基于所有权概念的非主流的内存管理模型有关。Rust 团队制定的改进策略包括:改进文档,改进语言诊断系统语言功能,改进工具。

工具

在工具方面,Rust 团队将会改进“编辑-编译-调试”循环,并提供一个集成开发环境。在提升“编辑-编译-调试”循环方面,Rust 团队已经完成了一些工作。他们提出了一种中间代码( MIR )来帮助编译 Rust 源代码,并且提供了一种更简单的类型检查和转换的表示方法。他们提供了增量编译功能,并且已经处于alpha 测试阶段。此外,Rust 目前的调试版本“运行得非常慢”,而Rust 的发行版本“构建得非常慢”。Rust 团队将试图在这两者间取舍一个更平衡的方案。

Rust 生态

Rust 生态成熟度是 Rust 团队提高 Rust 生产力的另外一个关注点。一方面,Rust 生态需要提供开发高质量工具箱的方法,包括信号质量预测、更好地支持持续集成、在特定工具上支持 API 审核等等。另外,Rust 生态系统应该成长并提供一套基本成熟的能够帮助完成基础任务的工具箱,特别是在服务器端的并发编程(Concurrent)、异步编程(Async)、并行编程(Parallel)方面。

互操作性

在生产环境使用Rust 经常需要它能够和已有的构建系统集成,并且能够和C++ 代码交互。综合这两方面的考量,Rust 团队计划让Rust 能够更简单地与现有系统集成。特别是,在Rust 中使用C++ 库应该不会比直接在C++ 中使用C++ 库复杂太多。

以上只是Rust2017 规划方案的概要,如果想知道更多Rust 技术规划的细节,包括在缺陷和替代方案方面的讨论以及尚未解决的问题等,可以参考 RFC 文档。

作者简介

Sergio De Simone是一位有 15 年以上编程经验的软件工程师。他曾任职于各种不同工作氛围的企业,例如西门子、惠普和一些初创企业,并参与许多不同的项目。近几年来,他专注于移动平台开发相关的技术。他目前供职于 BigML(一家在机器学习领域的初创企业),负责 iOS 和 OS X 开发。

查看英文原文: Where Rust is Heading in 2017


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-10-31 19:006573

评论

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

甲方日常 31

句子

工作 随笔杂谈 日常

MySQL-技术专题-MySQL MVCC实现机制

码界西柚

重磅推荐!阿里巴巴技术专家认证的Java系统性能圣经,太香了

996小迁

Java 架构 面试 Java系统性能

上线GitHub七天后就标星87.6K的Java大牛成长宝典,啃完之后成功面进字节!

Java架构追梦

Java 学习 架构 面试 核心知识点

【人人都懂密码学】一篇最易懂的Java密码学入门教程

华为云开发者联盟

加密 密码

一个草根的日常杂碎(10月12日)

刘新吾

随笔杂谈 生活记录 社会百态

Java-技术专题-纤程库Quasar

码界西柚

LeetCode题解:589. N叉树的前序遍历,栈,JavaScript,详细注释

Lee Chen

大前端 LeetCode

金秋十月游记

Xuhehui

美食 旅行

亿级数据库毫秒级查询?看完这一篇,海量数据赋能你也行

京东科技开发者

MySQL 数据库

个人精简xml,实现mybatis存取blob类型数据(Mysql)

小Q

Java MySQL 学习 面试 mybatis

中年架构师,悲催的一天,全靠忍!

四猿外

Java 程序员 程序人生 架构师

Presto在滴滴的探索与实践

滴滴技术

开源 滴滴技术 滴滴开源 presto

十一、给小白看的最后一篇Python基础教程

刘润森

Python

塞上江南之旅

谋生亦谋爱

美食 旅行

十二、深入Python列表和元组

刘润森

Python

MySQL-技术专题-主从复制原理

码界西柚

算法图解:如何找出栈中的最小值?

王磊

Java 数据结构 算法

numexpr:你以为numpy已经够快了,其实它还可以更快

计算机与AI

Python 学习 数据分析 Numpy

LeetCode题解:590. N叉树的后序遍历,栈,JavaScript,详细注释

Lee Chen

大前端 LeetCode

华为卢毅权:品质专线2.0 打造无处不在的品质联接

LAXCUS大数据集群操作系统:一个分布式分时共享E级系统软件(二)

陈泽云

人工智能 大数据 基础设施 国产操作系统

一个你不得不重视的趋势,而且数据会让你很诧异

非著名程序员

个人成长 短视频 自媒体

一个草根的日常杂碎(10月13日)

刘新吾

随笔杂谈 生活记录 社会百态

华为发布“品质专线2.0&智能分布式接入”解决方案

MySQL-技术专题-MySQL中的锁机制

码界西柚

Go语言小规范

小高

一个草根的日常杂碎(10月14日)

刘新吾

随笔杂谈 生活记录 社会百态

华为:“智能分布式接入网”打造真千兆高品质生活体验

阿里P8架构师得意弟子,应聘华为Java岗居然一面就失败了?

Java架构师迁哥

2020亚马逊全球Prime会员日为会员节省金额超过14亿美金

爱极客侠

2017,Rust将何去何从?_语言 & 开发_Sergio De Simone_InfoQ精选文章