欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 经验分享 > 其他经验 > 打败 Python、JS、C# 成最受欢迎编程语言,是时候掌握 Rust 了吗?

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

2018-07-31 705 收藏 0 赞一个 0 真差劲 0 去评论

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

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

1.png

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

Rust 是什么?

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

2.png

Rust 及其家谱

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

GitHub 上的成长

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

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

●Java: 1736476

● Python: 804790

● Java: 703649

● Ruby: 560430

● PHP: 359040

● C++: 319324

● Type: 311229

● Go: 258131

● C#: 246513

● CSS: 236795

● Shell: 168301

● C: 160889

● Swift: 67664

● Scala: 67188

● Rust: 52936

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

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

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

● 比“hello world”大的项目;

● 至少有一个星;

● 最近 30 天内有活动。

排名如下:

● Java: 56437

● Python: 37554

● Java: 27912

● C++: 16787

● PHP: 16451

● Shell: 12245

● C#: 11503

● C: 10662

● Go: 8816

● CSS: 8781

● Type: 8447

● Ruby: 7518

● Swift: 3828

● Objective-C: 3054

● Rust: 2604

● Kotlin: 2343

● 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 和 Type 等近几年爆炸式增长的语言当初也有类似的表现。

由于 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 或 Type 等语言的工作机会相比,仍然有很大的差距。

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

社区和统治

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

3.jpeg

全世界有 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 喝彩。你怎么看呢?

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论