【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

☞抽成 30% 的苹果税是良心价?谷歌也学“坏”了☞达“超人”水平?强化学习得这么用!☞“面向对象就是一个错误!”☞乐视视频 App 图标改为“欠 122 亿”,网友:我在别家分红包,却在你家随份子!

回溯 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. rust 编程入门_面向初学者的Rust –最受欢迎的编程语言入门

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

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

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

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

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

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

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

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

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

最新文章

  1. 青源LIVE第29期|清华叉院高阳:使用1/500数据掌控Atari游戏-EfficientZero算法详解
  2. VS如何新建一个基于对话框的MFC工程并添加按钮
  3. .NET平台开源项目速览(17)FluentConsole让你的控制台酷起来
  4. 【Linux 操作系统】 Secure CRT 终端配置 -- 配置语法高亮 光标 和 字体
  5. 【Android NDK 开发】JNI 引用 ( 弱全局引用 | NewWeakGlobalRef | DeleteWeakGlobalRef )
  6. 如何做好生产现场管理及信息化应用
  7. 14. es 整合springboot
  8. 视频监控技术 迎来网络“多媒体”时代
  9. 数据结构基础(8) --单链表的设计与实现(1)之基本操作
  10. boot入门思想 spring_(第一讲)Spring Initializr-快速入门Spring Boot的最好选择
  11. 大学计算机基础数据库知识点,大学计算机基础试题(数据库)
  12. 中文字符频率统计python_使用 Python 统计中文字符的数量
  13. MapReduce实现大矩阵乘法
  14. 最难游戏2计算机5关,最囧游戏2第5关通关攻略
  15. python成绩统计_巧用python对学生成绩计算总分并排序
  16. sklearn实战之决策树
  17. conda关于频道和存储包pkgs的详解(副pytorch环境安装)
  18. 中国不承认国际驾驶证
  19. CDR智能填充—图形颜色填充好帮手
  20. [Linux](小白须知)超级用户、普通用户、系统管理员怎么区分

热门文章

  1. Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your My
  2. 父组件向子组件传递数据
  3. EasyUI datebox 设置为按月选择
  4. 2016NOI冬令营day4
  5. Oracle数据空间的管理
  6. 函数 getaddrinfo 学习
  7. Android 别踩白块 源码分析
  8. [VSCode] Ubuntu 自动添加了 vscode 源
  9. mysql十亿_Mysql:表中有数十亿条记录
  10. 天池学习赛:工业蒸汽量预测4——模型验证