AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?
整理 | 夕颜
图源 | 视觉中国
出品 | CSDN(ID:CSDNnews)
近日,AWS开源团队在一篇帖子中低调宣布,已聘用Rust编译器联合创始人Felix Klock。加入AWS后,他将与于此前已经加入AWS的ust和Tokio提交者Sean McArthur(在Rust 1.0版本的“Thank-you”列表中被提名),以及著名的开发人员Lucio Franco和Jon Gjengset一起,进一步改进Rust。
此前,Felix Klock是Mozilla的研究工程师,负责Rust编译器、运行时库和语言设计工作,因Mozilla的一轮大规模裁员,Felix 于2020年8月离开Mozilla,10月份加入AWS。在Mozilla之前,他曾为Adobe Flash运行时的ActionScript虚拟机工作,拥有东北大学计算机科学博士学位,也是Larceny Scheme语言运行时的开发人员之一。
AWS为什么喜欢Rust?
因为喜欢,AWS已经开始赞助Rust项目,在官方博文中,AWS云与开源主管Matt Assay总结了这家云计算巨头偏爱Rust原因,以及使用这门编程语言的方式。
他说道,Rust最让人兴奋的一点是,是它让基础设施变得“无聊”。这不是一件坏事,毕竟没人愿意自己的设备过分“激动”,安全稳定才是他们希望看到的。因此,AWS越来越多地使用Rust构建诸如Firecracker VMM等关键基础设施,因为其开箱即用的功能降低达到预期高安全性所需要的时间及精力,同时运行时性能与C和C++相比毫不逊色。
AWS使用Rust编程的产品很多,第一款使用Rust编程的产品是Firecracker,这款开源虚拟化技术产品可以用来加快AWS Lambda和AWS Fargate等服务的速度和效率。除此之外,AWS还使用Rust支持Amazon Simple Storage Service(Amazon S3),Amazon Elastic Compute Cloud(Amazon EC2),Amazon CloudFront和Amazon Route 53等服务。最近,AWS推出了Bottlerocket,这是一套使用Rust编写而成的基于Linux的容器操作系统。Amazon EC2团队选择把Rust作为全新AWS Nitro System组件,包括Nitro Enclaves等敏感应用程序的语言。
为什么选择Rust?AWS也在博客中明确指出,是因为Rust的基本特性:性能和可靠性。
因为Rust不需要运行时或垃圾收集器,所以它能够实现类似于C和C ++的运行时性能。同时,Rust使用严格的类型系统和所有权模型来实现内存和并发安全性的编译时验证,从而使测试和验证Rust实现的成本大大低于C / C ++。
Rust和Tokio使AWS编写的服务能够快速、可靠地响应,提供更好的客户体验。
——AWS首席工程师 Carl Lerche
但Rust的优秀不仅在于代码。
Rust的确专注于为人们提供更好的体验。“因此,它吸引了很多此前未使用过Rust进行系统编程的人,包括我自己。
——AWS的软件工程师 David Barsky
Rust 项目维护人员对Rust也很满意:
性能。Rust 的速度和内存效率高得夸张:无需运行时或垃圾收集器,它就能够支持性能关键服务,在嵌入式设备上运行,并轻松地与其他语言集成。
可靠性。Rust 的富类型系统和所有权模型可保证内存安全和线程安全 — 并使您在编译时杜绝任何种类的漏洞。
生产率。Rust 具有出色的文档、提供各种有用的错误消息且易用的编译器以及顶尖的工具 — 集成包管理器和构建工具、具有自动完成和类型检查功能的智能多编辑器支持、自动格式化程序以及其他。
凭借其包容性社区以及与下面类似的顶尖库:
Serde,用于数据的序列化和反序列化。
Rayon,用于编写并行和无数据竞争的代码。
Tokio/async-std,用于编写无阻塞的低延迟网络服务。
tracing,用于检测 Rust 程序以收集基于事件的结构化诊断信息
AWS表示,Rust的创建和辉煌的过去他们没有参与,但未来希望可以更多地为Rust的发展做贡献,包括进一步加强Rust社区,通过对Rust和Tokio(用于使用Rust编写异步应用程序的运行时)做代码贡献,以及与超过5500个Rust贡献者合作共同构建Rust社区,等等。
最受开发者喜爱语言,被巨头青睐
因为快速、可靠、代码效率高,Rust吸引了越来越多的用户群。Rust 是由 Mozilla 开发人员 Graydon Hoare 在 2006 年开发的个人项目,从那个时候起,就像它所命名的 Rust 真菌一样,开始传播,如今已被广泛应用于构建网络、嵌入式计算机、分布式服务和命令行。
根据超过65,000名开发人员的调查反馈,Rust已连续五年位居Stack Overflow的“最受喜爱”编程语言榜首。
(来源:Stack Overflow)
同时,在Redmonk的编程语言排名中,Rust跻身前20名,鉴于Java,C,JavaScript等语言的地位,这个成就很了不起。
2019年初,已经有数百家公司在软件生产中使用Rust,例如 Dropbox、Yelp 和Cloudflare等,今年这个数字更大。
Rust也同样被很多科技巨头青睐,比如Google、微软、苹果和Mozilla等。
Google的第三款操作系统——Fuchsia当初的备选语言,Rust就是其中的热门候选之一。虽然后来Google宣布Dart当选,但Rust的优点也被更多人看到,比如内存安全保证,降低了使用该语言开发的软件存在安全漏洞的风险,可以使用线性流程的代码编写异步程序等。Rust落选的原因其实有点委屈,Google之所以没有用它,是因为它最大的缺点是这种语言太新,尚未广泛使用,并且其独特的特性尚未经过充分的实践检验,但是由于Rust的性能比Go高,需要的资源更少,因此Google认为它仍有可能被认可。
2019年,微软安全响应中心(MSRC)发文宣布,这家公司正在探索更安全的系统编程语言,使用Rust编程语言作为C、C++和其他语言的替代方案,以此来改善应用程序的安全状况,这件事当时还引起了关于Rust的一波热议。此后,微软又陆续推出一些基于 Rust 的项目,比如开源的 Windows 运行时项目 Rust/WinRT。
Mozilla更不用说了,Rust就是这家公司主导开发,Mozilla将这门语言用于Firefox 的组件开发,包括核心引擎 Servo/Project Quantum。在今年8月份,Mozilla进行了本年度的第二轮大裁员,裁员约 250 人,Felix Klock不幸就是其中一个。好在Rust项目没有危险,Rust发布公告称这个项目不会受太大影响。
此外,新的服务器端JavaScript运行时,被视为Node.js的潜在继任者——Deno,也是采用Rust编写,并为TypeScript(Microsoft对大型JavaScript项目的扩展)提供优先级的支持,这是由微软维护和管理的JavaScript大规模项目拓展。
在一篇官方博客中,Rust还总结了自2015年以来Rust经历的里程碑式进步,感兴趣的小伙伴可查看原文:https://blog.rust-lang.org/2020/05/15/five-years-of-rust.html
正如Rust 编程语言核心团队的 Carol Nichols所说,Rust更像是Ruby、Haskell 和 Scala 的混合,它既具有功能性,如闭包和迭代器,又拥有类似于 Haskell 的丰富类型系统,低开销的特点又让它非常适合低功耗的嵌入式系统软件,同时是构建 Web 应用程序的一个不错的选择。但它的缺点也不容忽视,如与C语言自由哲学截然相反的束缚感,不能给予programmer充足的自由,并引入了复杂的规则,以及对于编程语言新手来说并不简单的设计,等等,都是限制Rust领域相对小众的原因。
你对Rust还有哪些期待?欢迎留言区告诉我们~
参考链接:
https://www.theregister.com/2020/11/27/aws_hires_rust_compiler_team/
https://aws.amazon.com/cn/blogs/opensource/why-aws-loves-rust-and-how-wed-like-to-help/
https://aws.amazon.com/cn/blogs/opensource/aws-sponsorship-of-the-rust-project/
https://www.zdnet.com/article/programming-language-rust-5-years-on-from-v1-0-heres-the-good-and-the-bad-news/
更多精彩推荐
☞文本分类六十年
☞做数据中心,腾讯是认真的
☞首次公开!阿里巴巴云原生实时数仓核心技术揭秘
☞起底 Windows 35 年发展史
☞想在边缘运行计算机视觉程序?先来迎接挑战
☞《中国区块链发展报告(2020)》导读:全球区块链政策及监管重点趋势
点分享点点赞点在看
AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?相关推荐
- 电商时代的大数据——人人都爱吹牛皮【亿买网发布】
随着发改委的正式介入,价格战的闹剧总算收场,这群披着羊皮的狼终于谄笑着露出了满口"獠牙".京东.苏宁已分别确认了发改委的处罚决定通知,并向消费者作出了道歉.可是,京东的一席致歉感言 ...
- Rust 越来越香了!AWS 雇佣 Rust 编译器团队负责人 Felix Klock
继微软转向 Rust 之后,又一巨头开始投入 Rust 的怀抱. 近日,亚马逊云服务 AWS 透露,该团队已聘请 Rust 编译器联合负责人 Felix Klock.Klock 之前曾在Mozilla ...
- 企企通联合创始人兼总架构师杨华:剖析SRM顾问长期主义项目实践
近日,国产大飞机C919商业首飞成功引起广泛关注,此后,我们的出行选择中新增了一项"自己国家的大飞机",给国人带来了更多的期待和自豪. 走难而正确的路,国产大飞机C919从项目立项 ...
- 搜狗大数据总监、Polarr 联合创始人关于深度学习的分享交流 | 架构师小组交流会...
架构师小组交流会是由国内知名公司技术专家参与的技术交流会,每期选择一个时下最热门的技术话题进行实践经验分享. 第一期:来自沪江.滴滴.蘑菇街.扇贝架构师的 Docker 实践分享 第二期:来自滴滴.微 ...
- 搜狗大数据总监、Polarr 联合创始人关于深度学习的分享交流
架构师小组交流会是由国内知名公司技术专家参与的技术交流会,每期选择一个时下最热门的技术话题进行实践经验分享. 第一期:来自沪江.滴滴.蘑菇街.扇贝架构师的 Docker 实践分享 第二期:来自滴滴.微 ...
- 复星联合创始人梁信军:3大趋势影响全球经济,区块链将重构社会生产关系
"在未来十五年内,随着人工智能技术的成熟.区块链技术的应用以及全球增长极的漂移,当下价值判断的坐标系将被彻底颠覆." 本文转载自微信公众号:复旦金融评论,作者: 复星集团联合创始人 ...
- rust为什么显示不了国服_AWS偏爱Rust,已将Rust编译器团队负责人收入囊中
机器之心报道 作者:张倩.杜伟 近日,AWS 透露,该公司已经聘用了 Rust 编译器团队负责人之一 Felix Klock.该消息出自 AWS 开源团队于上周二发布的一篇文章<Why AWS ...
- LinkedIn联合创始人:硅谷也就700万人,为什么能创建这么多瞩目的公司 ?
+ 很多人不解:现在创业公司这么多,在世界任何地方都有很多人懂技术,营销,也有VC,可以组建团队,那为啥非要在硅谷做呢?作者董飞,整理了 Linkedin 创始人 Reid Hoffman 在CS18 ...
- 瑞欧威尔联合创始人兼CEO 李波博士:“工业元宇宙”是为了更好赋能实体经济
2021年12月10日,由广东省游戏产业协会.广东省虚拟现实产业技术创新联盟.深圳市科学技术协会.深圳市互联网文化市场协会指导,陀螺科技主办,深圳市科技开发交流中心.恒悦创客魔方协办,行业头部媒体游戏 ...
最新文章
- 人均 11878 元,2020 年研发岗年终奖最高!技术、产品岗均榜上有名
- c语言中的字符串总是以,C语言字符串的结束标志是什么?
- 算法练习day10——190328(根据指定值划分单链表、复制含有rand指针节点的链表、两个单链表相交)
- Angular compiler报的一个错误消息:Component XX is not part of any NgModule
- 大数据学习笔记:距离度量和相似度度量
- linux安装python包_【Linux】非root安装Python3及其包管理
- HP的.NET职位面试题
- InnoDB存储引擎架构
- 欧姆龙cp1h指令讲解_欧姆龙PLC功能指令
- jQuery EasyUI/TopJUI创建日期输入框
- 起始方位角怎么确定_工程测量中的导线测量,最初的方位角怎么求?
- 用python写恶搞病毒
- 基本的 DBus 偵錯技巧
- 为泄愤程序员攻击北京摇号网站昨受审 曾为市高考状元
- 微信小程序夜间模式,实现更换皮肤,切换白天黑夜模式,简单易懂
- Storage 的使用
- TCP和UDP的区别有哪些?
- 数据治理服务及数据治理应用解决方案
- matlab中的节点注入功率是如何定义的,节点注入功率
- MAR在计算机组成原理上是啥,《计算机组成原理》(答案已补全).doc
热门文章
- 如何打造139团队(不同层次人员的选择与培养,大型研发团队,大型敏捷开发团队)...
- eclipse创建spring boot项目,tomcat启动成功,但http://localhost:8080无法访问报错404解决方案...
- PHP-电脑搭建服务器
- java中String.split()的注意事项
- ios学习:Xcode工具
- MySQL 连接报错:mysql access denied for user@ip
- 《编码规范和测试方法——C/C++版》作业 ·005——设计一组员工类
- [CMake] 配置 install 和 uninstall
- c语言如何答应出数所在数组的下标_零基础学C语言——数组
- matlab 元胞数组合并(fail)