官方核心团队:Rust 2018是什么
12月6日发布的Rust 1.31.0将是“Rust 2018”的第一个版本。
通过在Cargo.tom中增加edition = '2018',将会开启一些在新的功能。
edition 的意义在于Rust自身的进化,例如try是Rust 2018中的关键字,无法在Rust 2015中去修改它,这是为了不去破坏社区生态。如果开发者选择了edition='2018',就代表了接受Rust的这种内部的变化,接受新的关键字try。
edition升级的只是表面语法功能,Rust的核心概念是不会改变的。
官方通过cargo fix工具帮助开发者升级到2018 edition
Rust编译器可以方便地管理版本的兼容性:
- Rust 2015和Rust 2018是彼此兼容的
- Rust编译器知道如何编译这两个版本,就像javac知道如何编译Java9和Java10,gcc和clang知道如何处理C++14和C++17一样。
- 你可以在Rust 2018版本中依赖Rust 2015的库,反之亦然。
- Rust 2015版本并未冻结。
- 目前Rust 2018预览版已经登陆Nightly版本
Rust大版本,每三年发布一次,下一次是Rust 2021。
文章中还提到了Rust 2.0
“2.0”的概念在开发人员的脑子里极度泛滥成灾。 2.0应该是重大的突破性变化,当是时候扔掉所有东西重新开始的时候,才会考虑2.0。 因此,我们会非常谨慎地发布Rust 2.0。
「2018年7月」Rust流行快照
该文从多个角度观察了Rust的流行度:
- GitHub增长趋势:
- 使用GitHub Octoverse中用到的Rust语言pull请求数判断,Rust排名第15,2018年PR数是52936。第一名的是JavaScript,PR数是1736476
- 按活跃的项目来算,Rust一共有2604个活跃项目,排名第15
- 「重磅」Rust的商业用户增长飞快
- Amazon,Rust作为构建工具
- Atlassian,在后端使用Rust
- Dropbox,前后端都用了Rust
- Facebook,源码管理工具
- Google, Fuchsia项目的一部分
- MicroSoft,新的Azure IoT 网络上的一部分
- npm,在某些核心服务上使用了Rust
- Red Hat,用Rust创建了一些新的存储系统
- Reddit,用Rust处理评论
- Twitter, 构建团队使用Rust
- 可以在Rust之友网页上看到更多公司身影,包括百度、三星、mozilla、Chef等。
- 游戏行业
- Chucklefish,在新的游戏上使用Rust
- Electronic,在SEED中使用Rust
- Frostbite, 在后端处理中使用Rust
- Ready at Dawn Studios,所有游戏将使用Rust (开发了《战神:奥林匹斯之链》 和《 战神:斯巴达之魂》的那家)
- Unity,在数据工程中使用Rust
- 其他的独立开发者
- 工作:
- 招聘职位越来越多
- Rust岗位目前覆盖云计算、区块链、安全、科学/医疗保健职位等领域
- 社区治理:
- 在过去,语言仅仅是用于商业开发,但是Rust社区改变了这种状况,Rust社区是语言的一部分,它提供了新用户、新项目的基调。
- 全世界的Rust meetup已经有130+
- Rust官方twitter 粉丝超过了31k,GitHub star也接近30k
- Rust团队规模增长了一倍
以上只是Rust社区数据一瞥,Rust未来会如何?我肯定会一直关注并看好。
Rust发布计划
Date Beta channel Stable channel Status 2018-08-02 1.29 1.28 Nightly = “Edition Preview 2” 2018-09-13 1.30 1.29 Beta = “Edition RC 1” 2018-10-25 1.31 1.30 Beta = “Edition RC 2” 2018-12-06 1.32 1.31 Stable = “Edition release”
[教程] 如何使用Rust构建OpenGL渲染器
macOS上交叉编译Linux二进制文件案例
苹果上是有点麻烦,这篇文章真及时
通过librustc_mir探索inband生命周期
inband生命周期是Rust2018即将稳定的特性,它消除了在每个范围内声明生命周期的要求。
# 2015
impl<'a, 'tcx> Foo for Bar<'a, 'tcx>
# 2018
impl Foo for Bar<'a, 'tcx> {
Rust实现PCG技术系列博客Part 3
PCG是Procedural Content Generation,一般用于游戏中自动生成内容。
评论区
写评论恐怕你理解的有问题
语言还没开始流行就准备重新开始了...