写点什么

Rust 首次进入 TIOBE Index 前 20:排名前五的是 C、Java、Python、C++ 和 C#

  • 2020-06-28
  • 本文字数:1272 字

    阅读完需:约 4 分钟

Rust首次进入TIOBE Index前20:排名前五的是C、Java、Python、C++和C#

开发人员对 Rust 的热爱已经转变成为在现实世界中采用 Rust。


2020 年 6 月 2 号,TIOBE 网站的一篇文章宣布 Rust首次进入TIOBE Index前20


TIOBE Index 是衡量编程语言在实际使用当中流行程度的一个长期指标。目前排名前五的是 C 语言、Java、Python、C++和 C#。Rust 是 C 和 C++的直接竞争对手,在一定程度上也是 Java 和 C#的竞争对手。


有一些指标已经表明 Rust 流行程度的上升。Rust 已经连续五年成为StackOverflow最受欢迎的编程语言,每年接受问卷调查的 5 万名开发者当中有超过 80%的人给予了肯定。在最近的一项来自JetBrains的开发者调查报告中,将近 2 万名受访者中有 8%的人表示他们计划在明年学习 Rust——这使得它成为增长最快的编程语言。事实上,JetBrains 的调查还显示,67%的开发人员在使用 Rust,即使他们的老板没有要求,他们甚至在业余项目中使用 Rust。


Rust 似乎是唯一计划采用它的人数比目前正在使用它的人数还要多的一门语言。

——Reddit 用户 u/gilescope


随着 Rust 越来越受欢迎,从 TIOBE 排名中可以明显看出,越来越多的开发人员正使用 Rust 获得报酬。Rust 已经被 Mozilla、Deno 和 Polkadot 等著名的开源项目所采用。在企业领域,它也得到了 Dropbox、微软、Cloudflare 等公司的支持。


Rust 承诺能够像 C 语言一样用于交付高性能的软件,但不会像 C 和 C++那样出现与内存相关的 bug。微软表示,他们软件中 70%的严重漏洞都与内存安全有关,而且这一趋势并未减弱。20 多年前,他们广泛采用托管语言(如 Java 和 C#)来消除这类 bug。托管语言运行时(如 Java 虚拟机和.NET)通过在运行时使用垃圾回收(GC)来实现这一点。然而,GC 也引入了大量的运行时开销,它会降低应用程序的性能,更令人担忧的是,它会导致不可预测的性能问题。


Rust 的设计目标是在没有 GC 或运行时开销的情况下实现内存安全性。它提供了零成本的 C 语言指针抽象。这听起来好得令人难以置信?这样做的代价通常是使用严格的编译器来强制执行内存使用规则。Rust 是一种强类型语言,有着复杂的编译器工具链。它很受使用它的开发人员的欢迎。


Rust 的安全性和性能让它成为理想的系统应用程序开发语言,可以替代 C 语言和 C++。不过,Rust 的应用范围超出了系统应用程序。几个月前,Rust 社区发布了自己的开发者调查报告。报告表明,大多数开发人员使用 Rust 来发 Web 应用程序,除此之外,它在物联网和区块链等领域也很流行。


尽管 Rust 可以编译成安全有效的本地二进制文件,但有时候也有必要在运行时容器中运行应用程序。此类容器提供了额外的内存安全性、访问安全性、代码隔离、可移植性和可管理性。在浏览器之外,Rust 程序被编译成 WebAssembly,运行在宿主环境里,比如 Node.js、Deno 甚至是区块链。


作为一种系统编程语言,Rust 确实有一定的学习曲线。不过它也有丰富的入门教程,可以查看这些教程和示例来开始 Rust 之旅。


Rust 有双重许可,分别是 MIT 和 Apache License(2.0 版本)。Rust 欢迎开发者参与贡献,贡献者应该遵循 Rust贡献指南


原文链接


Rust Breaks into TIOBE Top 20 Most Popular Programming Languages


2020-06-28 10:1815328

评论

发布
暂无评论
发现更多内容

下班之后的生活

卢卡多多

28天写作 12月日更

避免创建不必要的对象

李子捌

28天写作 12月日更

跟着动画学Go数据结构之冒泡排序

宇宙之一粟

golang 数据结构 算法 12月日更

微信朋友圈高性能分析

swallowluo

架构训练营 架构实战营 「架构实战营」

JVM学习笔记

Changing Lin

12月日更

☕【Java深层系列】「技术盲区」让我们一起去挑战一下如何读取一个较大或者超大的文件数据!

码界西柚

Mmap 12月日更 MappedByteBuffer FileChannel

kubernetes APIServer是如何限流的?

xcbeyond

Kubernetes 限流 28天写作 12月日更

网络安全2.0主动防御体系有哪些新思路?

喀拉峻

网络安全 安全 渗透测试 渗透

元宇宙100讲-0x006

hackstoic

元宇宙

Kubernetes 为何称为 K8s?

Ethereal

Kubernetes k8s 运维工程师

【docker 总结】第六篇 - DockerCompose

Brave

Docker 12月日更

围棋

圣迪

AI 数学 围棋 中国象棋 解空间

IM会话阅读回执

superman

IM 已读未读 阅读回执

模块二课程作业

李晓笛

架构实战营

2021学习总结

将军-技术演讲力教练

C#中如何使用Dapper

喵叔

28天写作 12月日更

DDD领域驱动设计实战(四)-值对象

JavaEdge

12月日更

前端开发:关于Vue组件中的data属性值是函数而不是对象的详解

三掌柜

28t 28天写作 12月日更

营销思维:新消费品牌如何做营销

石云升

营销 28天写作 新消费 12月日更

反序列化漏洞原理详解

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

架构实战 模块二作业

mj4ever

架构实战

Git 报错:fatal: destination path ‘.‘ already exists and is not an empty directory.

liuzhen007

28天写作 12月日更

语音信号处理4:语音信号的产生之语音的发音器官

轻口味

28天写作 12月日更

CSS之选择器(十)<label> 和 <input>

Augus

CSS 12月日更

48 K8S之Ingress控制器部署

穿过生命散发芬芳

k8s 28天写作 12月日更

家具电商

张老蔫

微信朋友圈高性能架构分析与设计

皓月

架构实战 #架构实战营 「架构实战营」

RocksDB 相关资料

Joseph295

存储 RocksDB LSM树 KV存储引擎

如何在 Linux 中使用 apt 命令管理包

Ethereal

Linux 运维 apt 网络技术联盟站

[Pulsar] 设置认证和鉴权

Zike Yang

Apache Pulsar 12月日更

情绪价值

搬砖的周狮傅

情绪

Rust首次进入TIOBE Index前20:排名前五的是C、Java、Python、C++和C#_编程语言_Vivian Hu_InfoQ精选文章