热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:AWS聘用Rust编译器联合创始人,大企为何都爱Rust?

篇首语:本文由编程笔记#小编为大家整理,主要介绍了AWS聘用Rust编译器联合创始人,大企为何都爱Rust?相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?相关的知识,希望对你有一定的参考价值。


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。

     AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust? 

此前,Felix Klock是Mozilla的研究工程师,负责Rust编译器、运行时库和语言设计工作,因Mozilla的一轮大规模裁员,Felix 于2020年8月离开Mozilla,10月份加入AWS。在Mozilla之前,他曾为Adobe Flash运行时的ActionScript虚拟机工作,拥有东北大学计算机科学博士学位,也是Larceny Scheme语言运行时的开发人员之一。


AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust? 


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社区,等等。


 

AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?




最受开发者喜爱语言,被巨头青睐



 


因为快速、可靠、代码效率高,Rust吸引了越来越多的用户群。Rust 是由 Mozilla 开发人员 Graydon Hoare 在 2006 年开发的个人项目,从那个时候起,就像它所命名的 Rust 真菌一样,开始传播,如今已被广泛应用于构建网络、嵌入式计算机、分布式服务和命令行。


 


根据超过65,000名开发人员的调查反馈,Rust已连续五年位居Stack Overflow的“最受喜爱”编程语言榜首。


       
AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?
     


(来源:Stack Overflow)


 


同时,在Redmonk的编程语言排名中,Rust跻身前20名,鉴于Java,C,Javascript等语言的地位,这个成就很了不起。


       
AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?
       





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/




AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?



AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?

更多精彩推荐
















AWS 聘用 Rust 编译器联合创始人,大企为何都爱 Rust?



点分享









点点赞








点在看









推荐阅读
  • 本文通过一个简单的 C++ 示例,深入分析了当使用 `vector::resize` 方法调整向量大小时,对象的构造函数和析构函数被调用的具体情况。示例代码展示了如何创建一个包含自定义类的对象的向量,并通过调整其大小来观察构造和析构的过程。 ... [详细]
  • 现在不少人开始关注并学习Flex了(至少比以前多了),但是现在关于Flex的资料并不多,国内的资料就更少了,而 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文详细介绍了如何在UniApp中集成H5微信公众号支付功能,包括前置条件、API调用方法及具体实现步骤。 ... [详细]
  • 请看|差别_Android 6.0 运行时权限处理解析
    请看|差别_Android 6.0 运行时权限处理解析 ... [详细]
  • 一、准备好使用安卓系统:开发环境和项目设置本章将涵盖以下食谱:用 ... [详细]
  • 导读:很多朋友问到关于php前端脚本语言有哪些的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
author-avatar
手机用户2602884633
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有