写点什么

Rust 1.0 Alpha 版本发布,语言特性和核心库已完成

  • 2015-01-19
  • 本文字数:1603 字

    阅读完需:约 5 分钟

为了解决软件在语言级别上无法充分利用计算机多核计算来提升性能的问题, 于是, Mozilla 针对计算机多核体系开发了具有强安全性、高性能和高并发性的编程语言 Rust 。近日,Rust 核心团队宣布 Rust 1.0 Alpha 版本如期发布,该版本的发布是Rust 和其社区的一个重大里程碑。Rust 1.0 Alpha 版本实现了1.0 系列版本全部的语言特性和核心库,且路径相关操作和IO 模块正在趋于稳定,至此,Rust 1.0 版本将不会出现重大的改变。在接下来的1.0 相关版本中,Rust 将会继续完善相关文档、改进相关功能以及修复Bug。

Rust 1.0 Alpha 版本在语言、核心库和文档方面的主要改进如下:

  • 语言特征方面新增了大小为动态的类型(DSTs) 特性,这就意味着Rust 在运行时就能够确定类型(数组、对象等类型)的大小;新增了多分派Traits 特性,并提供了许多相关API ,Traits 是编写多态代码的工具,Traits 已经支持关联类型;新增 Where 子句能够指定 Traits 的边界;新增了使用 Traits 系统的新方式 Unboxed closures;对 macro_rules 系统进行了重大的重构;关于整数类型的一些长期争论已经得到了解决,int 和 uint 确定称为 isize 和 usize, 已不建议使用默认整数的功能;Rust 使用标记 Traits 能够将数据分类(分为可拷贝、线程安全等),从提高了安全性。
  • 核心库方面**大量的约束RFC 已经获得批准,并记录在了 Rust 指导方针;所有的原语类型和基本的构建模块(如字符、字符串等)已经稳定;实现了 ****一系列的RFC **并改进了集合相关 API_;_ 改进了 Rust 的并发模块,并新增了一个线程API 完全剔除了Rust 的运行时系统和绿色线程模块( Green threading ), 这是因为它们会把字符串的静态二进制大小一分为二,并且还会暴露访问标准库的 Hook。
  • 文档方面将《Rust 指南》整合到《Rust 编程指南》一书中;Rust 相关实例放到了官方文档中;改进了一些 API 文档。

官方已经公布了有可能发生改变的功能和 API详细列表以及Alpha 系列版本的改进内容。主要改进内容包括关联类型的改进、取消闭包的改进、泛型的改进、Path 模块的改进、IO 模块的改进、Sync/Send 的改进、整数类型的审计、功能文档的完善、API 文档的完善以及Bug 修复和功能优化。有关Rust 1.0 的相关版本发布计划,请读者参见 InfoQ 一篇关于Rust 1.0 发布路线的报道

此外,从InfoQ 的一篇最新报道中得知,Rust 标准库的稳定性仪表板显示:稳定代码占已占44%,不稳定代码占52%,2% 的未进行标记,而上一次更新(2014 年10 月份)是稳定代码占2%,不稳定代码占12%,标记为实验特性代码占77%,其余代码是标记为废弃的,或者没标记的。Rust 由Web 语言的领军人物 Brendan Eich (JavaScript 之父)、Dave Herman 以及 Mozilla 公司的 Graydon Hoare 联合开发,并遵循着大家所熟悉的 Chrome/Firefox 发布流程,使用夜间构建版本、Beta 构建版本和发布构建版本。

Rust 1.0 Beta 版本发布的消息公布后,国内外各大社区和网站的用户展开了热烈讨论,并引起了读者对 Go、Python、Ruby 等语言的对比讨论。 Hacker News 上已有数百条相关评论,其中用户 eslaught 评论到:

Rust__ 团队重新评估以前的决定给自己留下了深刻的印象,对于所有的迭代版本而言,自己认为 Rust 1.0 版本为所有迭代打下了良好的开端,如新增了动态大小类型和其他一些迭代设计的功能,在此恭喜所有做出贡献的人。

Reddit 上也有了数百条相关评论,多数用户表示正式研究、学习Rust 的时间到了,并表达了对Rust 支持生产环境使用的期待,但也有用户抱怨Rust 缺少文档和教程。

用户 fedekun 评论到:

相对于 Go 来说,我比较喜欢 Rust 的语法,同大多数 Web 开发者一样,自己对系统级编程语言不太熟悉,但是认为 Rust 正朝着正确的方向发展。


感谢郭蕾对本文的审校。

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

2015-01-19 04:012683
用户头像

发布了 92 篇内容, 共 51.7 次阅读, 收获喜欢 5 次。

关注

评论

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

蚂蚁金服三面真题:基础+高并发+消息中间件+GC算法+MySQL数据同步

Java架构之路

Java 程序员 架构 面试 编程语言

上周刚面的美团 现已拿到offer,分享一下三面面经

Java架构之路

Java 程序员 架构 面试 编程语言

DataPipeline合伙人&CPO陈雷:成为中国的世界级数据中间件厂商

DataPipeline数见科技

一周信创舆情观察(2.22~2.28)

统小信uos

Synchronized升级成重量级锁之后就下不来了?你错了!

yes

Java JVM

Pgbouncer最佳实践:系列三

PostgreSQLChina

数据库 postgresql 软件 开源社区

JVM 分析工具

insight

JVM 3月日更

牛掰,阿里架构师用 115 张原理与流程图,讲清了 Java 程序员常被问及的分布式架构核心知识点

Java架构师迁哥

大话 Python:python 操作 excel 系列 -- 能够操作 excel 的 python 库有哪些?

老王说编程

Python ecxel

从根上理解高性能、高并发(七):深入操作系统,一文读懂进程、线程、协程

JackJiang

【LeetCode】比特位计数Java题解

Albert

算法 LeetCode 28天写作

字节跳动Android面试:来一份全面的面试宝典练练手,不吃透都对不起自己

欢喜学安卓

android 程序员 面试 移动开发

女乘客跳车、货拉拉涉事司机被批捕

石云升

28天写作 3月日更

大话 Python:python 操作 excel 系列 -- 怎样将数据写入 excel 文件?

老王说编程

Python Excel xlsxwriter

力扣(LeetCode)刷题,简单+中等题(第28期)

不脱发的程序猿

面试 LeetCode 编程之路 28天写作 算法面经

5G时代,为什么NoSQL和SQL存在短板?

VoltDB

数据库 通信 VoltDB 电信

程序员的数学

大奎

力扣(LeetCode)刷题,简单+中等题(第29期)

不脱发的程序猿

面试 LeetCode 编程之路 28天写作 算法面经

【科创人】融云CEO韩迎:飞信十年珍贵历练,做To B别有取巧的心思

科创人

2021年3月国产数据库排行榜:OceanBase勇夺亚军 神舟挺进20强!

墨天轮

数据库 性能优化 运维

容器 & 服务:K8s与Docker应用集群 (一)

程序员架构进阶

容器 k8s 服务化 七日更 28天写作

Python基础之:Python中的流程控制

程序那些事

Python 程序那些事 流程控制

基于 KubeVela 与 Kubernetes 打造“无限能力”的开放 PaaS

阿里巴巴云原生

容器 开发者 运维 云原生 k8s

使用SSO增强身份安全性的四个原因

龙归科技

身份认证 SSO 密码管理

快手基于 Flink 的持续优化与实践

Apache Flink

flink

【数独问题】入门题:判断一个数独是否有效 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

从业务在线化视角实施数字化落地的两大路径

boshi

数字化 七日更

2021Java岗面试清单最新整理:分布式/Spring/JVM/并发编程等(15专题全面解析)

比伯

Java 编程 程序员 架构 面试

四面字节跳动成功斩获offer(Java岗),只有努力复习,方能战胜寒冬

Java架构之路

Java 程序员 架构 面试 编程语言

homework2

Geek_xq

字节跳动技术总监自爆:Android项目开发如何设计整体架构?建议收藏

欢喜学安卓

android 程序员 面试 移动开发

Rust 1.0 Alpha版本发布,语言特性和核心库已完成_语言 & 开发_李士窑_InfoQ精选文章