【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

明明很好很强大,Rust 却还是那么小众

  • 2019-04-18
  • 本文字数:1790 字

    阅读完需:约 6 分钟

明明很好很强大,Rust 却还是那么小众

Rust 是一门通用、编译型、静态类型编程语言。说起 Rust 语言的优点,不少人会想到三个词,安全、并发、高效。但相关调查结果表明,Rust 在开发者中的热度并没有想象中的高。学习曲线陡峭或许是一部分原因。 QCon北京2019 邀请了字节跳动跨平台团队负责人王枞,与大家分享 Rust 跨平台客户端开发在字节跳动的实践经验,点此了解详情


近日,Stack Overflow 发布了 2019 开发者年度调查报告,报告显示,Rust 连续四年成为最受开发者喜爱的编程语言。据了解,此次约有近 90,000 名来自世界各地的开发者参与调查。Stack Overflow 作为全世界最流行、最顶级的 IT 技术问答社区,其数据具有一定的参考价值。



Rust 是一门通用、编译型、静态类型编程语言,由 Mozilla 主导开发。它支持函数式、并发式、过程式以及面向对象的编程风格。第一个有版本号的 Rust 编译器于 2012 年 1 月发布。


说起 Rust 语言的优点,不少人会想到三个词,安全、并发、高效。


安全:Rust 是静态的,拥有丰富类型系统和所有权模型,保证了内存安全性和线程安全性。 C 语言很容易出现整数溢出,如果被黑客利用,很容易出现安全问题。而 Rust 中的每个值都只能被一个所有者拥有,所以 C 语言遇到的这类问题,对 Rust 来说都不是问题。


并发:并发和并行是 IT 圈内不会过时的话题,Rust 可让程序在编译时并发执行,并且将安全与并发完美统一。


高效:没有 Runtime,也没有 GC,所以 Rust 非常快且节省内存,它可以为性能关键型服务提供动力,在嵌入式设备上运行,并且可以轻松地与其他语言集成。


Bryan Cantrill 是 Joyent 的首席技术官,以在 Sun Microsystems 开发 DTrace 而闻名。他曾为 Rust 写过一篇推荐文章,用自己的实际体验验证了 Rust 的诸多优点,如错误处理、宏、Serde、集成测试和社区。在文章的末尾,他还提到自己用 Rust 重写了一个 C 程序,运行结果令人惊奇,这个原生的未经过任何调优的程序比他精心写成的 C 快了约 32%。相关数据如下:





Rust 看起来很好很强大,业界是否已经将其大量投入使用了呢?并非如此。2018 年,JetBrains 发起了其标准的年度调查项目,调查了 6,000 名开发人员,以确定开发人员生态系统的状态。结果显示,Rust 在开发者中的热度并没有想象中的高。



2018 年年尾,Rust 官方博客发布了 2018 年的 Rust 调查报告。报告的数据也证明了这一点:很多非 Rust 用户表示他们所在的公司本身不使用 Rust,超过三分之一的用户表示,目前还没有考虑在未来一年尝试使用 Rust。


Rust 的学习曲线比较陡峭,上手难是导致初学者倒在入门阶段的一大原因,对使用其他语言的企业来说,转移成本也是需要考虑的一点,所以这直接影响了 Rust 的使用者数量。再者,Rust 的生产环境偏少,企业招人难,开发者求职也不容易。


作为一门小众语言,Rust 虽然没有大热,但一直保持着缓慢而稳健的增长。2017 年,Rust 语言在 GitHub 上 Star 大于 10 的项目数为 2,139,2019 年 4 月,这个数字增长到了 6,131。



Rust 对标的是 C/C++,而 C++ 的学习曲线比起 Rust 更为陡峭,所以对那些希望编写 C/C++ 却又觉得它们难以接近的程序员来说,Rust 是一个不错的选择。它十分适合写安全且高效的代码,可应用于嵌入式设备和可扩展 Web 服务的开发。目前,除 Mozilla 之外,全球有数百家公司正在使用 Rust,比如 Amazon、Atlassian、Dropbox、Facebook、Google、Microsoft、Red Hat 和 Reddit 等等。在国内,百度安全实验室的 MesaTEE 下一代可信安全计算服务框架、 PingCAP 的 TiKV 等项目用到了 Rust 语言,蚂蚁金服、知乎和 SenseTime 内部也不乏用 Rust 语言开发的项目,而字节跳动则将 Rust 用到了今日头条企业级 IM 产品 Lark 的开发之中,它也是国内对 Rust 开发者最为友好的公司之一。


如果你也对 Rust 感兴趣, QCon北京2019 邀请到了字节跳动跨平台团队负责人王枞,为大家带来《Rust 跨平台客户端开发在字节跳动的实践》的分享,可以关注一下。


近些年,字节跳动成长十分迅猛,与自身的技术创新离不开关系。想知道更多来自字节跳动的技术细节?本届大会中,以下技术实践值得关注:


ByteMQ: A distributed message queue towards scalability

基于数据建模的高性能弹幕设计解决方案

ClickHouse 在头条的技术演进


更多技术难题的创新解法请点击 QCon北京2019 了解。大会报名现已进入倒计时,团购可享折扣优惠!席位有限,马上拿起电话联系票务小姐姐 Ring 吧:电话/微信:17310043226


2019-04-18 16:2826226
用户头像

发布了 69 篇内容, 共 48.2 次阅读, 收获喜欢 158 次。

关注

评论

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

直播回顾 | 点击率提升400%,Ta是怎么做到的?

HMS Core

HMS Core

澜舟科技周明:进入AI 2.0不代表一定要抛弃1.0的技术

澜舟孟子开源社区

AIGC 澜舟科技 ChatGPT

设计原则 — I 接口隔离原则

Lemoon Can

接口隔离原则 设计原则

一文读懂HAG:首个永久锚定BTC Mining算力的Security Token

股市老人

深入探讨Python Tornado框架:原理与异步实现

阿呆

Python tornado Web

云行| 三大重磅发布,助力重庆数字经济新发展!

天翼云开发者社区

欢迎大家来到不可思议又有趣的SQL世界

图灵教育

sql 数据库、 SQL sever

矩阵起源荣获“IT用户满意度大会”年度新秀称号

MatrixOrigin

MatrixOrigin MatrixOne

智慧公厕系统:提高管理效率与用户体验的创新解决方案

光明源智慧厕所

智慧城市 智慧物业 智慧屏 智慧机场

共铸国云智领未来| “云游”华夏?山西美景正当时!

天翼云开发者社区

五分钟!获得轻量级的云原生应用控制平面

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

腾讯云数据库性能打破世界纪录 每分钟可处理8.14亿笔交易

数据库小组

数据库 腾讯云 tdsql

从制作九转大肠来谈起 | GreptimeDB 如何提高多步操作的容错能力

Greptime 格睿科技

数据库 云原生 时序数据库 procedure

DevOps |如何说清楚研发效能工作的价值?

laofo

DevOps cicd 研发效能 持续交付 研发效能度量

一文讲透|如何部署OceanBase社区版(4.x版)

OceanBase 数据库

数据库 oceanbase

如何轻松应对偶发异常

阿里巴巴云原生

阿里云 微服务 云原生

AI的道德风险验证

陈磊@Criss

探索Python Web后端技术的发展之路

阿呆

AF_XDP技术简介

天翼云开发者社区

私有化部署chatGPT,告别网络困扰

南城FE

人工智能 前端 ChatGPT

「行业化」会是ToB巨头们的新战场吗?

ToB行业头条

风云变幻,尽收眼底!天翼云为气象信息化发展注智赋能

天翼云开发者社区

小白线下学习前端培训怎么样

小谷哥

分享:从数据库开发者的视角,预测5个开发趋势

OceanBase 数据库

数据库 oceanbase

前端培训怎么学习好?

小谷哥

如何使用 MegEngine 生态落地一个算法

MegEngineBot

开源 性能优化 MegEngine 算法落地

智慧公厕:现代科技与城市卫生的完美结合

光明源智慧厕所

智慧城市 智慧物业 智慧机场

共铸国云繁荣生态!天翼云华东中心生态合作大会圆满举行

天翼云开发者社区

超越 ChatGPT,GPT-4 将成为下一个“顶流”?

Zilliz

ChatGPT

RocketMQ x OpenTelemetry 分布式全链路追踪最佳实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

HPC调度基础:slurm集群的部署

天翼云开发者社区

明明很好很强大,Rust 却还是那么小众_编程语言_邓艳琴_InfoQ精选文章