【CSDN 编者按】在 2020 年,Rust 的 Github Star 数达到了 51K,Reddit Fans 则涨至 125 K,全年合并 PR 有 8114 个。这些数据无不在说明,Rust 正成为最受欢迎的编程语言。

作者 | 唐刚       责编 | 张红月

出品 | CSDN(ID:CSDNnews)

当今世界科技发展日新月异,2015 年 5 月 15 日,Rust 1.0 版本正式面世,在这五年多的时间中,Rust 改变了许多,凭借自身的优势,Rust 也连续四年成为开发者最受欢迎的编程语言。目前,也有越来越多的项目及企业开始选择使用 Rust 作为其应用及工具开发语言。

发布的版本

2020 年,Rust 官方团队一共发布了 9 个主要版本,以及若干修订版。主要版本分别如下:

  • 1.41.0  2020.1.30 发布

  • 1.42.0   2020.3.12 发布

  • 1.43.0  2020.4.23 发布

  • 1.44.0  2020.6.4 发布

  • 1.45.0  2020.7.16 发布

  • 1.46.0  2020.8.27 发布

  • 1.47.0  2020.10.8 发布

  • 1.48.0  2020.11.19 发布

  • 1.49.0   2020.12.31 发布

可以看到,官方团队采用的是 6 周的发布周期,并严格执行。

一些重大特性

今年的 Rust 版本更新中,有以下值得注意的功能升级。

v1.41 中的,孤儿规则适当放宽。也就是现在支持以下写法了:

 impl<T> ForeignTrait<LocalType> for ForeignType<T> {// ...
}

详情可参考:https://blog.rust-lang.org/2020/01/30/Rust-1.41.0.html#relaxed-restrictions-when-implementing-traits

v1.42 中的 Subslice patterns 和 matches!

Subslice patterns  指的是模式匹配里面,可以这样用了:

fn foo(words: &[&str]) {match words {["Hello", "World", "!", ..] => println!("Hello World!"),["Foo", "Bar", ..] => println!("Baz"),rest => println!("{:?}", rest),}
}fn foo(words: &[&str]) {match words {// Ignore everything but the last element, which must be "!".[.., "!"] => println!("!!!"),// `start` is a slice of everything except the last element, which must be "z".[start @ .., "z"] => println!("starts with: {:?}", start),// `end` is a slice of everything but the first element, which must be "a".["a", end @ ..] => println!("ends with: {:?}", end),rest => println!("{:?}", rest),}
}

新增 matches! 宏。

// Using a match expression:
match self.partial_cmp(other) {Some(Less) => true,_ => false,
}// Using the `matches!` macro:
matches!(self.partial_cmp(other), Some(Less))let foo = 'f';
assert!(matches!(foo, 'A'..='Z' | 'a'..='z'));let bar = Some(4);
assert!(matches!(bar, Some(x) if x > 2));

v1.44 主要有:

  1. cargo tree 集成进 cargo 本身

  2. no_std 支持 async/await 了

v1.46 主要有:

  • const fn 改进。它允许你在编译期做很多计算工作。比如, const-sha1 crate  可以让你在编译期计算 SHA-1 哈希。这导致在微软的 WinRT Rust 绑定的实现上,有 40 倍的提速。

  • v1.47 Traits on larger arrays。大数组上的 Trait。现在可以这样的:

fn main() {let xs = [0; 34];println!("{:?}", xs);
}

其它:

  1. docs.rs 文档现在允许选择 build target 了。

  2. rustdoc 中可更方便地作相对引用 link。

Mozilla 裁员事件

由于疫情波及,Mozilla 收支平衡产生了问题,Mozilla 在本年度共进行了两轮裁员。年初时,Mozilla 就已裁掉了 70 名雇员,总员工人数减少至 1000 名左右。而在 8月,又进行了 2 次裁员,本次再裁 250 人,占比高达 25%。裁员涉及到 Servo 团队和 Rust 团队中的一些成员。

Rust 基金会正式成立

此前 Rust 就准备成立单独的基金会,从而从 Mozilla 中脱离出来,进入更广阔的发展空间。而就在2月9日,Rust 基金会终于正式成立了(https://foundation.rust-lang.org/)!

Rust 基金会董事成员包括:亚马逊、Google、华为、微软和 Mozilla。另外,值得一提的是华为对 Rust 如此重视,应是看好国内 Rust 的应用和发展。

总体来说,成立该基金会的目的是为了 Rust 维护人员可以快乐地把工作做到最好,并且基金会的主要目标是启动 Rust 贡献者(特别是那些自愿提供且不受雇主支持的贡献者)。

深受大厂青睐

因为快速、可靠、代码效率高,Rust 吸引了越来越多的用户群。Rust 是由 Mozilla 开发人员 Graydon Hoare 在 2006 年开发的个人项目,从那个时候起,就像它所命名的 Rust 真菌一样,开始传播,如今已被广泛应用于构建网络、嵌入式计算机、分布式服务和命令行。

根据超过65,000名开发人员的调查反馈,Rust已连续五年位居Stack Overflow的“最受喜爱”编程语言榜首。

(来源:Stack Overflow)

同时,在 Redmonk 的编程语言排名中,Rust 跻身前 20 名,鉴于 Java,C,JavaScript 等语言的地位,这个成就很了不起。

2019 年初,已经有数百家公司在软件生产中使用 Rust,例如 Dropbox、Yelp 和 Cloudflare 等,今年这个数字更大。

Rust 也同样被很多科技巨头青睐,比如 Google、微软、苹果、Facebook 和 Mozilla 等。

Google 的第三款操作系统——Fuchsia 当初的备选语言,Rust就是其中的热门候选之一。2019年,微软安全响应中心(MSRC)发文宣布,这家公司正在探索更安全的系统编程语言,使用Rust编程语言作为C、C++和其他语言的替代方案,以此来改善应用程序的安全状况,这件事当时还引起了关于Rust的一波热议。此后,微软又陆续推出一些基于 Rust 的项目,比如开源的 Windows 运行时项目 Rust/WinRT。如今,Rust 正式升级成为微软第一梯队的编程语言,与 C++、C# 平级。

此外,新的服务器端 JavaScript 运行时,被视为 Node.js 的潜在继任者——Deno,也是采用 Rust 编写,并为 TypeScript(Microsoft 对大型 JavaScript 项目的扩展)提供优先级的支持,这是由微软维护和管理的 JavaScript 大规模项目拓展。

在一篇官方博客中,Rust还总结了自2015年以来Rust经历的里程碑式进步,感兴趣的小伙伴可查看原文:https://blog.rust-lang.org/2020/05/15/five-years-of-rust.html。

整个软件行业似乎都在向着 Rust 迈进。AWS 使用 Rust 来部署 Lambda无服务器运行时,以及 EC2 的某些部分。Facebook 已开始使用 Rust,此外还有苹果、Google、Dropbox和Cloudflare也在使用。

Rust 语言中文社区 RustCC 的成长

在 2020 年,Rust 的 Github Star 数达到了 51K,Reddit Fans 则涨至 125 K,全年合并 PR 有 8114 个。这些数据无不在说明,Rust 正成为最受欢迎的编程语言。

回头来看国内社区。2020 年,Rust 语言中文社区公众账号的粉丝数量:截止2020年12月,已超过1w,以下是粉丝数增长曲线图。

城市分布:

性别分布:

社区内容建设

2020 年,社区小团队坚持创作。到年末,已经完成的创作内容有:

  1. Rust FFI 编程 已完成 22 期。

  2. Rust 每周一库 已完成 33 期。

  3. Rust 每周一知 已完成 13 期。

  4. Rust 日报 已完成超过 1000 期。

  5. Rust 唠嗑室 已完成 18 期 。

2020 年停止了很多线下的活动,但是线上活动开启了。Rust 唠嗑室,定期在线举办线上 Meetup。并且一些出版社也引入了新的优秀 Rust 外文书籍,比如 Rust in action,将由社区的小伙伴们翻译。并且出版社也开始策划挖掘更多的 Rust 原创书籍。

展望 2021

  1. Const generic 有希望稳定并发布

  2. Rust 基金会会推动整个 Rust 社区快速发展

  3. Bigtechs 带头大规模使用 Rust

  4. Rust 在区块链研发领域继续拓展,逐渐占领头部份额

  5. Rust 在云原生领域、Serverless 领域有突破性进展,在嵌入式、IoT 领域开始发挥作用

  6. Rust 异步生态继续丰富完善

  7. 国内 Rust 语言影响力快速提升

相信,Rust 在未来 2~5 年内,会迎来一个爆发,并在主流程序员群体中广泛传播。

相关阅读:

  • Rust 2020 调查报告出炉

  • 年仅 5 岁的 Rust 如何成为最受欢迎的编程语言?

  • 继C / C ++之后,微软如何全面采用 Rust 的?

  • AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?

  • Rust 基金会那些事

  • RUST CHINA CONF 2020/首届中国 Rust 开发者大会:https://live.csdn.net/room/u012067469/3VT3jORs

  • RUST CHINA CONF 2020/首届中国RUST开发者大会:https://live.csdn.net/room/u012067469/51UUkkjG

点分享点收藏点点赞点在看

回溯 Rust 2020:正成为最受欢迎的编程语言相关推荐

  1. 回溯 Rust 2020:正在成为最受欢迎的编程语言

    [CSDN 编者按]在 2020 年,Rust 的 Github Star 数达到了 51K,Reddit Fans 则涨至 125 K,全年合并 PR 有 8114 个.这些数据无不在说明,Rust ...

  2. Rust 2020 调查报告出炉,95%的开发者吐槽Rust难学

    来源 | CSDN(ID:CSDNnews) 编译 | 苏宓 头图 | CSDN 下载自东方 IC 众多语言中,Rust 作为一款小众的现代系统编程语言,近几年间,接连受到了各大企业的青睐. 正如不久 ...

  3. Rust 生命周期太难学、最想实现与 C++ 互操作,Rust 2020 调查报告发布!

    编译 | 苏宓 头图 | CSDN 下载自东方 IC 出品 | CSDN(ID:CSDNnews) 众多语言中,Rust 作为一款小众的现代系统编程语言,近几年间,接连受到了各大企业的青睐. 正如不久 ...

  4. 年仅 5 岁的 Rust 如何成为最受欢迎的编程语言?

    当今世界科技发展日新月异,Rust 1.0 版本发布至今已有五年时光!在这五年中,Rust改变了许多,凭借自身的优势,Rust 也连续四年成为开发者最受欢迎的编程语言.目前,也有越来越多的项目及企业开 ...

  5. 2020年,急需提及的十大最受欢迎的编程语言

    如今,先进技术已进入几乎每个行业.无论是飞机上的自动驾驶仪还是车辆中的数字速度计,多种技术都围绕着我们.新技术和创新技术项目对于组织迅速扩大规模极为宝贵. 技术是通过编程语言来实现的,技术领域中有60 ...

  6. rust 编程入门_面向初学者的Rust –最受欢迎的编程语言入门

    rust 编程入门 Rust has been voted Stack Overflow's most loved programming language for five years in a r ...

  7. 腾讯 2020年新增 20 亿行代码,C++蝉联腾讯最受欢迎的编程语言

    作为国内科技巨头,腾讯的产品早已覆盖到了每个国人手中,不过这家公司对于自身技术一直比较「低调」.3 月 18 日下午,腾讯今天对外发布 2020 年度<腾讯研发大数据报告>,披露了 202 ...

  8. 2020年最具“钱途”的编程语言

    编程语言是人们指导或控制机器的工具,其开发目的在于让操控机器的过程更加简单和顺畅.正因如此,数百种编程语言应运而生.然而,它们的命运却各不相同.一些语言已不复使用,或将在未来几年淘汰.相应地,一些语言 ...

  9. 2021年最受欢迎的编程语言大排名

    你不想浪费时间.如果您要节省学习新编程语言所需的时间和精力,您希望毫无疑问地确保您选择的编程语言是市场上最受欢迎的编程语言. 毕竟,如果你想开始(或推进)软件开发职业,你需要站在隐喻课的前列.您需要知 ...

最新文章

  1. php数组如何写入txt文件中_php将数组写入到文件的三种方法
  2. Java 装饰器模式详解
  3. 使用GitHub构建个人博客网站
  4. Hadoop完全分子式环境搭建—问题及解决办法
  5. 语言统计学中的几个定律,可作为设计检索的参考
  6. 用手机「3D探店」是种什么体验?
  7. 程序猿过年相亲:你总会遇到一个女孩,她不向你要钱,房子和车....
  8. 蜜汁问题?差异基因分析谁比谁有差别吗?
  9. 【java并发编程艺术学习】(四)第二章 java并发机制的底层实现原理 学习记录(二) synchronized...
  10. mysql 表锁的概念_MySQL 锁的一些简单概念
  11. Redis的持久化方式
  12. coverity静态安全扫描分析软件linux环境搭建
  13. python忽略错误继续执行_python能在错误出现之后再进行处理吗?
  14. 均值(average)与期望(mean)
  15. java一些基础知识点
  16. 怀旧服ouf头像插件_魔兽世界怀旧服EUI插件 V9.0.1.6 官方版
  17. AlphaTensor横空出世!打破矩阵乘法计算速度50年纪录,DeepMind新研究再刷Nature封面,详细算法已开源...
  18. IOS FaceID TouchID识别
  19. Live800:教育行业新拐点,在线客服系统如何提供价值?
  20. CodeForces - 1646C Factorials and Powers of Two

热门文章

  1. Facebook AI研究员田渊栋的2021年终总结:多读历史!
  2. 7秒钟的记忆?Facebook提出DL新算法,东南大学90后博士新作
  3. 我有一个顶会idea还没做实验,NeurIPS:先占坑再实验!
  4. 【NLPer必看】NLP领域高质量综述论文
  5. “诺奖风向标”--2020年斯隆研究奖公布,其中有16位华人学者获奖!
  6. 从语言、模型和规模三个维度,打造下一代AI
  7. SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code
  8. 透视鹏程.盘古:首个2000亿参数中文大模型是怎样炼成的?
  9. AI技术如何帮助研究人员重现历史的气味?
  10. 华为正式发布自有操作系统鸿蒙OS