【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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:012126
用户头像

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

关注

评论

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

Go服务错误堆栈收集降频策略

SFLYQ

后端 高并发 Go 语言 日志采集

自己动手写Docker系列 -- 5.5实现容器停止

Go Docker 4月月更

十年磨一剑,墨菲安全正式发布开源项目murphysec

墨菲安全

开源安全

企业知识管理的解决方案

小炮

知识管理 企业知识管理 企业知识管理工具

脉冲能量|Committer 专访——李理:Apache Pulsar 项目“体验师”

Apache Pulsar

开源 云原生 Apache Pulsar Apache Pulsar 社区 运维‘

不写代码,带你徒手开发一个健康打卡应用

华为云开发者联盟

无代码 AppCube 应用开发 健康打卡 可视化编排

快速尝鲜:RabbitMQ 搭建完就得用起来

阿Q说代码

RabbitMQ springboot 4月月更 消息确认机制

13个问题帮你选型 “客户体验管理SaaS平台”

龙国富

SaaS 选型 客户体验 CEM CXM

超nei卷!连黑客勒索软件团伙都开始谈客户体验…

龙国富

黑客 客户体验 drakside 客户至上

微信朋友圈的高性能复杂度

大眼喵

「架构实战营」

Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库

xuri

golang Excel Apache POI Go 语言 Excelize

状态机引擎在vivo营销自动化中的深度实践 | 引擎篇02

vivo互联网技术

服务器 状态机

[Day11]-[动态规划]让字符串成为回文串的最少插入次数

方勇(gopher)

LeetCode 数据结构和算法

架构实战营-模块二作业

,lazy

#架构实战营 「架构实战营」

模块二作业:微信朋友圈高性能复杂度分析

杨波

「架构实战营」

使用和风天气 API 10分钟搭建天气预报数据看板

蒋川

API 天气api

为啥JS/TS里都会有"use strict"

华为云开发者联盟

js ts 严格模式 use strcit 使用严格

直播预告|MobTech携手中国信通院共话数据治理建设实践

MobTech袤博科技

数据安全 火山引擎 信通院 MobTech袤博科技

一文了解垃圾回收算法中的引用计数算法

宇宙之一粟

垃圾回收算法 引用计数 4月月更

Linux驱动开发-编写PCF8591(ADC)芯片驱动

DS小龙哥

4月月更

华为云GaussDB(for Influx)揭秘第五期:最佳实践之子查询

华为云开发者联盟

数据库 华为云 GaussDB(for Influx) 子查询 InfluxQL

微信朋友券的高性能复杂度

CityAnimal

架构实战营 #架构实战营 「架构实战营」

spring-cloud 链路追踪

Rubble

4月日更

10个商品图策略,引导亚马逊卖家提升客户购物体验

龙国富

电商 商品 亚马逊 客户体验

B 端 SaaS 产品自动化事件设计 - 规则表达式

龙国富

自动化 SaaS 正则 B端 规则表达式

阿里二面:携程配置中心Apollo服务端是如何感知配置变化的

java金融

模块二:微信朋友圈高性能复杂度分析

jiaoxn

「架构实战营」

Test

haibin369

架构实战营作业 - 模块二

haibin369

「架构实战营」

《手写Mybatis》第4章:Mapper XML的解析和注册使用

小傅哥

小傅哥 mybatis 工厂模式 建造者

净推荐值(NPS)完整行动指南

龙国富

客户体验 NPS 净推荐值 北极星指标 客户忠诚度

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