写点什么

Rust 首次进入 TIOBE 榜单前 20

2020 年 6 月 04 日

Rust首次进入TIOBE榜单前20


近日,TIOBE 公布 2020 年 6 月的编程语言排行榜,Rust 语言首次进入该榜单的前 20 并排在第 20 位。



最近几年,Rust 在 TIOBE 榜单上的排名不断上升,从去年的第 38 位上升至如今的第 20 位。据悉,TIOBE 指数基于主要搜索引擎上对编程语言的搜索。虽然排名的上升并不意味着有更多人使用 Rust,但是它却表明有越来越多的开发者搜索有关这门编程语言的信息。


TIOBE 软件 CEO Paul Jansen 称,Rust 排名的上升是因为它作为一款系统编程语言一直在沿着正确的轨迹发展。


他说,“其他编程语言的所有冗长编程和尖锐问题都被 Rust 解决了,同时它还是静态强类型的。它的类型系统可以防止运行时出现空指针异常,内存管理则是在编译时计算的。所以,没有垃圾回收会突然发生,D、Lua 和 Julia 试图打败 C 和 C++,但 Rust 似乎是第一个真正接近这个目标的编程语言。”


根据 Stack Overflow 近日发布的《2020年开发人员调查》报告表明,Rust 连续 5 年荣获开发者“最受喜爱的编程语言”称号。这一年,有 86%的开发人员表示他们热衷于使用 Rust,但只有 5%的开发人员实际将其用于编程。



Rust 官方博客发布的“Rust 2019年度调查报告”显示,有 82.8% 的受访者表示目前在使用 Rust,7.1% 的受访者表示曾经使用过 Rust,但是现在已经放弃了,还有 10% 的受访者表示从未使用过 Rust。


而调查也发现,学习曲线陡峭和公司不使用 Rust 是受访者放弃使用 Rust 的重要原因。此外,缺少所需的库、因切换到 Rust 而减慢了速度和缺少 IDE 支持也是用户停止使用 Rust 的常见原因。


调查发现,Rust 应用的最大障碍是学习曲线和互操作性


作为 Rust 的竞争对手,Go 语言的排名也在不断上升,它从一年前的第 15 位上升至现在的第 12 位。据了解,包括 Google、Netflix、Salesforce、IBM 和 Twitter 等公司都在使用 Go 语言开发平台。


一周前,Chromium 项目发表一篇博文称


Chrome 代码库中所有严重的安全漏洞,70% 是内存管理的安全漏洞,其中 50% 的内存漏洞是 use-after-free 漏洞,因为对内存指针的错误管理,给予了攻击者攻击 Chrome 内部组件的机会。



而微软工程师也曾公开表示:在过去 12 年中,微软产品的安全更新中,约有 70% 也是在解决内存安全漏洞。


据悉,Google 和微软代码库中使用的主要编程语言是 C 和 C++,而它们却不“安全”。池老师在《深受程序员喜爱的Rust(上)》一文中指出:


自操作系统诞生以来,系统级主流编程语言从汇编语言到 C 到 C++,已经发展了近 50 个年头,但依然存在两个难题:


  • 很难编写内存安全的代码;

  • 很难编写线程安全的代码。


这两个难题存在的本质原因是 C/C++属于类型不安全的语言,它们薄弱的内存管理机制导致了很多常见的漏洞。


左耳朵耗子(耗子叔)则在《RUST语言的编程范式》一文中也指出 C/C++的安全问题。他在文中写道:“Java 与 Rust 在改善 C/C++上走了完全不同的两条路,他们主要改善的问题就是 C/C++ Safety 的问题。所谓 C/C++编程安全上的问题,主要是:内存的管理、数据在共享中出现的‘野指针’、‘野引用’的问题。”


而 Rust 自出生即主打安全性。它是静态的,拥有丰富的类型系统和所有权语义模型,保证了内存安全性和线程安全性。


除了安全,Rust 还具备并发、高效的优点。


当今,Rust 不仅深受开发者群体的喜爱,而且受到 Google、亚马逊 AWS 和微软的欢迎。


据悉,亚马逊 AWS 将 Rust 用于 Lambda、EC2 和 S3 中 performance-sensitive 的组件。


Google 则表示将开发自定义 C++ 库,与 Chrome 代码库配合使用,以便更好地处理与内存相关的错误。并且有计划,在可能的情况下探索使用“内存安全”的编程语言,首选的候选对象为 Rust。


不过,对 Rust 兴趣最大的企业要数微软。


2019 年 7 月,微软安全响应中心(MSRC)团队在官网发文称,未来使用 Rust 作为 C、C++以及其他编程语言的替代方案以改善应用程序的安全性的计划。并且,微软正用 Rust 重写 Windows 组件。


另一方面,微软已经发布 Rust/WinRT 预览版。Rust 开发人员则可以使用 Rust/WinRT 开发 Windows 应用程序和组件,以及 NT 服务或 Windows 驱动程序。这将促使 Rust 得到更广泛的使用。


2020 年 6 月 04 日 10:436445
用户头像
万佳 InfoQ编辑

发布了 572 篇内容, 共 211.2 次阅读, 收获喜欢 1429 次。

关注

评论

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

6月日更,优质更文,“定制”来袭~

InfoQ写作平台官方

活动专区 6月日更

阿里面试题:MySQL 磁盘满了,怎么办?

Java架构师迁哥

ipfs矿机怎么买?ipfs矿机哪里买?

投资矿机v:IPFS1234

ipfs矿机哪里买 ipfs矿机怎么买

怎样节省 2/3 的 GPU?爱奇艺 vGPU 的探索与实践

爱奇艺技术产品团队

深度学习 gpu

日常Bug排查-系统失去响应-Redis使用不当

无毁的湖光

redis Java 8

非官方不权威Java面试宝典

北游学Java

Java 面试

Java程序员简历这么写,还过不了筛选算我输!

Java架构师迁哥

看大数据如何帮你实现品销合一

󠀛Ferry

5月日更

【码多野结衣】DOS命令大全及使用方法(经典怀旧)

Machine Gun

Java 网络安全 计算机 渗透测试 DOS攻击

阿里云 AI 编辑部获 CCBN 创新奖,揭秘传媒行业解决方案背后的黑科技

阿里云视频云

阿里云 媒体 CCBN

🔎【Java 源码探索】深入浅出的分析Mutex底层源码

李浩宇/Alex

Java JVM mutex Condition 5月日更

知乎的一次29.7元的咨询

why技术

Java 程序员成长

QCon 演讲实录 | 大型软件团队的数字化项目管理实践

万事ONES

研发管理 团队协作 数字化 ONES Qcon

SphereEx 获数百万美元天使融资,接力 ShardingSphere 开启 Database Plus 新篇章

SphereEx

Spring 实例化方式有几种?为什么会用到 Cglib?

小傅哥

Java spring 小傅哥 cglib 手写框架

重点人口动态管控轨迹分析系统开发,可视化大数据平台建设

WX13823153201

并发王者课-青铜8:分工协作-从本质认知线程的状态和动作方法

秦二爷

Java 多线程 并发 并发王者课

GitHub标星98K,一夜登顶的阿里内部手册到底有何魅力?

神奇小汤圆

Java 程序员 架构 面试

OpenResty入门

捉虫大师

nginx openresty

和12岁小同志搞创客开发:如何选择合适的传感器?

不脱发的程序猿

DIY 传感器 创客开发 如何选择合适的传感器?

高并发存储优化篇:诸多策略,缓存为王

Coder的技术之路

缓存 缓存击穿 缓存雪崩 缓存架构

震惊,PostGIS还可以这样用!!!

华为云开发者社区

数据库 分布式 GaussDB 地理数据库 PostGIS

华云大咖说 | 华云数据助力高校建设实训室平台

华云数据

千亿级数据迁移mongodb成本节省及性能优化实践

杨亚洲(专注mongodb及高性能中间件)

MySQL 数据库 mongodb 架构 分布式数据库mongodb

个推“D-M-P”三步走, 打造每日治数平台,助力行业数字化升级

个推

大数据 数据中台 数据治理 数据智能

长连接网关技术专题(五):喜马拉雅自研亿级API网关技术实践

JackJiang

Netty nio 网关

.Net Core Configuration Etcd数据源

yi念之间

etcd .net core

Geek 青年说北京沙龙分享

看山

Geek青年说

Springboot actuator不可不注意的安全问题-可越权-可脱库

果果果

安全 springboot

如何优化你的HTTPS?

运维研习社

https HTTP2.0 5月日更

量化倍投交易系统开发源码,马丁策略交易软件搭建

WX13823153201

Rust首次进入TIOBE榜单前20-InfoQ