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



点分享









点点赞








点在看









推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 加密世界下一个主流叙事领域:L2、跨链桥、GameFi等
    本文介绍了加密世界下一个主流叙事的七个潜力领域,包括L2、跨链桥、GameFi等。L2作为以太坊的二层解决方案,在过去一年取得了巨大成功,跨链桥和互操作性是多链Web3中最重要的因素。去中心化的数据存储领域也具有巨大潜力,未来云存储市场有望达到1500亿美元。DAO和社交代币将成为购买和控制现实世界资产的重要方式,而GameFi作为数字资产在高收入游戏中的应用有望推动数字资产走向主流。衍生品市场也在不断发展壮大。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
  • 通过uni.getSystemInfoSync()可以同步获取系统信息,其中platform是获取客户端平台的switch(uni.getSystemInfoSyn ... [详细]
  • 【编程语言之Go介绍与环境安装】
    Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。  ... [详细]
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社区 版权所有