黑基Web安全攻防班
安基网 首页 IT技术 编程开发 查看内容

打败Python、JS、C 成最受欢迎编程语言,是时候掌握 Rust 了吗?

2018-8-1 02:01| 投稿: xiaotiger |来自: 互联网

摘要: 无论何时,编程语言的流行度都是一个经典且火热的讨论话题。而怎样衡量流行度?如果两种语言的目标和适用人群迥异,该如何较出高下?事实上,有许多方法可以衡量编程语言的流行度。例如,可以查看 StackOverflow、内 ...

免责声明:本站系公益性非盈利IT网站,本文由投稿者转载自互联网,文末已注明出处,其内容和图片版权归原作者所有,文中所述不代表本站观点,若有侵权或转载不当之处请从网站右下角联系我们处理。

无论何时,编程语言的流行度都是一个经典且火热的讨论话题。而怎样衡量流行度?如果两种语言的目标和适用人群迥异,该如何较出高下?事实上,有许多方法可以衡量编程语言的流行度。例如,可以查看 StackOverflow、内部论坛、Twitter、Google 趋势上的话题热度增长,或者根据各种语言流行度报告来判断。每种衡量方法都有各自的优势和劣势。

在本文中,我们将窥探曾经在 Stack Overflow 年度开发者调查报告中成功逆袭 Kotlin、Python、JavaScript 成为最受欢迎的编程语言—— Rust 的未来发展趋势,以及剖析它流行的原因。

下面我们将关注一些数据,用这些数据展示语言的用途,而不是热度(即讨论 Rust 的人数)。如果人们使用某种语言完成实际工作,那才是语言成功的真正标志。

Rust 是什么?

Rust 是由 Mozilla 开发的注重安全、性能和并发性的编程语言。自 2015 年 5 月发布 1.0 之后,一直以每 6 周一个小版本的开发进度稳定向前推进。Rust 受到了 Cyclone(C 的一种安全方言,一种命令式语言)的重大影响,包含来自 C++ 的面向对象特性的一些方面。但是,它也包含来自 Haskell 和 OCaml 等语言的函数特性。结果,我们获得了一种支持多模式编程(命令、函数和面向对象)的类似 C 的语言。

Rust 及其家谱

接下来我们看看开源界的 Rust 使用情况,为此我们来看看 GitHub。

GitHub 上的成长

GitHub 提供了几种办法来衡量特定语言的增长情况。GitHub 自己使用特定语言的拉取请求次数,这也是GitHub Octoverse(https://octoverse.github.com/)中使用的数据。

查询 2018 年到目前为止的话,那么 PR 数最多的 15 种语言是:

  1. JavaScript: 1736476
  2. Python: 804790
  3. Java: 703649
  4. Ruby: 560430
  5. PHP: 359040
  6. C++: 319324
  7. TypeScript: 311229
  8. Go: 258131
  9. C#: 246513
  10. CSS: 236795
  11. Shell: 168301
  12. C: 160889
  13. Swift: 67664
  14. Scala: 67188
  15. Rust: 52936

Rust 作为 Swift/Scala/Rust 一组排名第十五。这个排名挺不错。列表上的所有其他语言都是在实际应用中使用频率非常高的语言,而不是娱乐性质的语言。

第十五名这个名次也很重要,因为如果 Octoverse 今天生成的话,Rust 将第一次进入排名。

我们继续来看。关注 PR 数量的一个缺陷就是,少量非常成功的项目会给结果造成偏差。这些流行项目的 PR 数非常高,因此它所用的语言会排名很靠前。为了避免这个问题,我们还要看看“活跃项目数”。这里我们定义“活跃项目数”为:

  • 比“hello world”大的项目;
  • 至少有一个星;
  • 最近 30 天内有活动。

排名如下:

  1. JavaScript: 56437
  2. Python: 37554
  3. Java: 27912
  4. C++: 16787
  5. PHP: 16451
  6. Shell: 12245
  7. C#: 11503
  8. C: 10662
  9. Go: 8816
  10. CSS: 8781
  11. TypeScript: 8447
  12. Ruby: 7518
  13. Swift: 3828
  14. Objective-C: 3054
  15. Rust: 2604
  16. Kotlin: 2343
  17. Scala: 2072

这个排名中 Rust 的结果也不错。同样,这里都是正式项目中用到的语言。

GitHub 的数据给出了一个排名,而其他地方是不是有同样的排名?由于 Rust 如此流行,我们希望看看它在业界的流行程度。

Rust 的商业用户

过去一年间,Rust 在商业应用上有着令人惊讶的成长。下面是部分人们熟知的名字:

  • 亚马逊:用 Rust 构建工具(https://github.com/amzn/askalono)。
  • Atlassian(Jira的厂商):在后台使用 Rust(https://github.com/rust-lang/rust-www/pull/922)。
  • Dropbox:在前端和后台都使用Rust(https://air.mozilla.org/rust-meetup-may-2017/)。
  • Facebook:源代码控制工具(https://twitter.com/Sunjay03/status/1019782490800603136)。
  • Google:作为 Fuchsia 项目的一部分(https://github.com/fuchsia-mirror?utf8=%E2%9C%93&q=&type=&language=rust)。
  • 微软:在新的 Azure 物联网框架中部分使用了Rust(https://twitter.com/maxgortman/status/1012011425353461760)。
  • npm:一些 npm 核心服务中使用了 Rust(https://github.com/rust-lang/rust-www/pull/634)。
  • Red Hat:用 Rust 建立新的存储系统(https://github.com/stratis-storage)。
  • Reddit:用 Rust 进行评论处理(https://www.reddit.com/r/rust/comments/7utj4t/reddit_is_hiring_a_senior_rust_engineer/)。
  • Twitter:用 Rust 作为构建团队支持的一部分(https://twitter.com/stuhood/status/978410393944047617?s=19)。

在 Rust 的合作伙伴(https://www.rust-lang.org/en-US/friends.html)的列表中还能看到更多熟悉的名字,如百度、Wire、Mozilla、三星、Cloudflare、Chef、Canonical 等等。

在业界,软件公司开始在某种程度上接受 Rust。如大家期待的那样,最初可能是实验性质的使用,主要用 Rust 做构建工具、后台处理,或者针对某个特定的平台,如物联网。早期的用户如 Dropbox、Canonical 现在已经过了最初的尝试阶段,开始在更多代码中使用 Rust。

这一切都说明,现在依然是 Rust 的早期阶段。大公司在广泛接受新技术之前需要花很多时间去尝试。我们在接受曲线中看到了 Rust 的身影,而且它表现得很不错。像 Go 和 TypeScript 等近几年爆炸式增长的语言当初也有类似的表现。

由于 Rust 和 C++ 很相近,我们还应该看看那些传统上由 C++ 开发者组成的公司的情况。这个行业其中之一就是游戏开发。

游戏开发行业的情况

尽管游戏行业主要使用发展成熟的技术,Rust 也开始在游戏开发者中占据一席之地。下面是 Rust 用户中游戏开发者们熟悉的名字:

  • 呵呵鱼游戏工作室 - 在多个即将发布的游戏中使用Rust(https://www.rust-lang.org/pdfs/Rust-Chucklefish-Whitepaper.pdf)。
  • 电子艺界 - 在SEED中使用Rust(https://twitter.com/ZigguratVertigo/status/1021562281056980993)。
  • 寒霜引擎 - 使用Rust做后台处理(https://twitter.com/Ca1ne/status/983612241235804160)。
  • Ready at Dawn工作室 - 所有新开发都使用Rust(https://twitter.com/AndreaPessino/status/1021532074153394176)。
  • Unity - 在数据工程中使用Rust(https://twitter.com/bltroutwine/status/1002234680949719040)。

我们还看到其他独立开发者在自己的游戏中使用Rust(https://twitter.com/SergiusIW/status/1021236971786694656)。

跟前面的情况类似,我们在游戏开发者中也看到了相似的情况。最初的使用目标很明确,主要用于后台处理或与数据相关的项目。之后,Rust 会逐渐进入核心开发领域,甚至用 Rust 开发整个游戏。

工作

在进行 2017 年 Rust 问卷调查(https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html)时,人们不使用 Rust 的很大原因之一就是公司不使用。当时还没有使用 Rust 的工作。

2018 年,随着越来越多的公司和工作室开始接受 Rust,这个现象有没有好转呢?

简单来说,是的,尽管还有很大的增长空间。快速浏览下 LinkedIn 上的工作数量,可以看出 Amazon 等公司以及许多与区块链、安全、科学、健康等有关的公司都提供相当数量的 Rust 工作机会。当然,与 Go 或 TypeScript 等语言的工作机会相比,仍然有很大的差距。

看完公司使用 Rust 的情况,Rust 社区的发展情况又如何?

社区和统治

在过去,语言可以单独靠商业开发来支持。但现在,语言的社区才是语言的基础。社区能带来新用户,支持新项目,并给项目的发展方向定下基调。

全世界有 130 多个 Rust 开发者见面会

Rust 社区中的个人部分——见面会,在过去九个月内增长了 30%,现在在全世界有 130 多个。我们可以看到,这些会议的数量有着稳步增长,从而用户可以获得更多的培训机会和网络。

我们还看到,与上次报道相比(http://www.jonathanturner.org/2017/10/fun-facts-about-rust-growth.html),在线社区也有显著的增长。例如,Rust reddit 论坛最近超过了四万用户(九个月之前才有两万九千用户),GitHub 代码库有了三万星(从九个月前的 24000 星增长),官方 Rust 推特有了将近三万一千粉丝(九个月前为两万四千)。

这种热情也影响了统治 Rust 的团队。综合来看,Rust 团队在过去九个月内增长了一倍,现在在不同的团队内拥有 100 多个岗位(https://www.rust-lang.org/en-US/team.html)。范围也增大了许多,新的团队现在覆盖了基础设施、开发者体验和依赖管理等。

结论

本文只是 Rust 在业界和软件开发社区中的一些使用数据。从这些数据很难推断出整体的途径,更难预测到未来的情况。但即使如此,我们已经能看到 Rust 的曙光。

Rust 的明天会怎样?每个人都会有不同的看法。就我个人而言,我会继续观望并为 Rust 喝彩。你怎么看呢?

原文:http://www.jonathanturner.org/2018/07/snapshot-of-rust-popularity.html

作者:Jonathan Turner,Mozilla工程师。

译者:弯月,责编:屠敏


小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6584345431843537411/

免责声明:本站系公益性非盈利IT网站,本文由投稿者转载自互联网,文末已注明出处,其内容和图片版权归原作者所有,文中所述不代表本站观点,若有侵权或转载不当之处请从网站右下角联系我们处理。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部