热门标签 | 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?



点分享









点点赞








点在看









推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
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社区 版权所有