报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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:006257

评论

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

无需依赖Docker环境制作镜像

tiandizhiguai

Docker k8s

极客时间运维进阶训练营第十四周作业

9527

我不想再传递 nameof 了

newbe36524

C# Docker Kubernetes

「 代码性能优化 」作为一名Java程序员,你真的会写for循环吗?

小刘学编程

Java 性能优化 for循环 技巧总结

EasyRecovery2023新版本有哪些新功能?

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

模块六作业

张贺

自媒体营销或已死,内容营销为何越来越难做?

石头IT视角

Python 内置界面开发框架 Tkinter入门篇 丁

eng八戒

Python GUI tkinter

运维训练营第14周作业

好吃不贵

「 前端开发规范 」10人小团队前端开发规范参考这篇就够了

小刘学编程

前端 统一代码规范 高效协同

「 代码性能优化 」作为一名Java程序员,你真的了解 synchronized 吗?(三)

小刘学编程

Java 性能优化 synchronized java锁

「 数据结构与算法 」如何系统性的学习数据结构与算法

小刘学编程

Java 学习路线 数据结构与算法

【Java基础】常用序列化技术与方式

No8g攻城狮

通信协议 网络通信协议

ChatGPT这波热潮会不会让我失业?

eng八戒

人工智能 AI 聊天机器人 openai ChatGPT

大规模即时云渲染技术,追求体验与成本的最佳均衡

阿里云CloudImagine

云计算 云渲染 云庙会

有了瓴羊Quick BI,企业再也不必担心可视化分析情况

小偏执o

「 技术文章翻译 」jasypt-spring-boot敏感信息加密解密利器使用指南

小刘学编程

加密解密 springboot jasypt

面试必问:JVM 如何确定死亡对象?

王磊

java面试

MASA Stack 1.0 发布会 —— 社区问题解答

MASA技术团队

.net stack 应用现代化 MASA

研发提效:服务端技术方案模板参考

邴越

技术方案 模版

ChatGPT入门案例|商务智能对话客服(二)| 社区征文

TiAmo

openai ChatGPT

2023-02-15:商场中有一展柜A,其大小固定,现已被不同的商品摆满, 商家提供了一些新商品B,需要对A中的部分商品进行更新替换, B中的商品可以自由使用,也就是可以用B中的任何商品替换A中的任何

福大大架构师每日一题

算法 rust 福大大

Python 内置界面开发框架 Tkinter入门篇 丙

eng八戒

Python GUI tkinter

CleanMyMacX4.12.5中文版苹果电脑管家

茶色酒

CleanMyMacX4.12.5

GuitarPro2024免费版吉他打谱工具

茶色酒

GuitarPro

使用了瓴羊Quick BI,数据分析的效率有效提升

夏日星河

「 代码性能优化 」java高级程序员必知必会的55个代码性能优化技巧

小刘学编程

Java 性能优化 高级程序员 代码技巧

「 Java开发规范 」10人小团队Java开发规范参考这篇就够了

小刘学编程

Java 数据库规范 代码规范 项目规范

「 代码性能优化 」作为一名Java程序员,你真的了解 synchronized 吗?(一)

小刘学编程

Java 性能优化 synchronized java锁

「 代码性能优化 」作为一名Java程序员,你真的了解 synchronized 吗?(二)

小刘学编程

Java 性能优化 synchronized java锁

使用自定义的初始化方法宏(OC)

刿刀

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