我们正处于一个信息大暴发的时代,每天都能产生数以百万计的新闻资讯!
虽然有大数据推荐,但面对海量数据,通过我们的调研发现,在一个小时的时间里,您通常无法真正有效地获取您感兴趣的资讯!
头条新闻资讯订阅,旨在帮助您收集感兴趣的资讯内容,并且在第一时间通知到您。可以有效节约您获取资讯的时间,避免错过一些关键信息。
4月1日消息,过去两年,Rust编程语言风头正劲,而C/C++则略显疲态。谷歌近日分享了他们将项目从Go和C++代码迁移至Rust的经验,结果令人惊讶:Rust开发者的效率竟然可以达到C++团队的两倍。
图源Pexels
谷歌安卓平台工具和库的工程总监LarsBergstrom在伦敦举行的RustNation英国峰会上分享了这一消息。过去几年,业界对于Rust的安全性和可靠性一直存在疑虑。Bergstrom指出,由于担心“unsafe”关键字的存在,许多人认为使用C++更为稳妥。然而,随着人们逐渐意识到非内存安全语言带来的挑战,以及美国等国家政府将目光投向软件在关键基础设施扮演的角色,这种观念正悄然发生改变。
Bergstrom强调,如今美国等国家政府都愈发重视软件在关键基础设施中的作用,而绝大多数大型代码库的安全漏洞都源于内存安全问题。由于Rust代码在恰当的使用下能有效避免此类问题,内存安全俨然成为了国家安全议题之一。
IT之家注意到,微软Azure首席技术官MarkRussinovich早在2022年9月就建议新项目使用Rust取代C/C++。如今,这种趋势正从全新项目扩展到老旧代码的重写。今年早些时候,微软号召开发人员协助将C#代码移植至Rust。网络安全研究小组(ISRG)的Prossimo项目也正致力于用Rust重写关键库的核心开源部分(例如NTP、DNS、TLS),以提升内存安全性。
当然,并非所有人都认同这一趋势。C++创始人BjarneStroustrup认为,通过适当的工具,C++也可以实现与Rust等内存安全语言相同的保障,且成本更低。美国国家网络总监办公室发布的软件安全报告也引来了一些评论,指出内存安全只是软件安全挑战的一部分,不应该被过分夸大。卡内基梅隆大学软件工程研究所强调,每种编程语言都各有优劣,选择应以适合项目为原则。
然而,谷歌等Rust拥护者的实践案例则反驳了Stroustrup关于成本优势的说法。Bergstrom表示,将Go代码(被认为是内存安全但性能较低)转写成Rust的过程中,谷歌取得了显著的成效,“迁移过程所需团队规模和时间几乎与Go开发相当,并没有降低效率。更重要的是,内存使用率降低了,漏洞率也随之减少,代码正确性得到提升。”
更令人惊讶的是,将C++代码迁移至Rust的效率提升更加明显。“在所有案例中,用Rust构建和维护服务的所需工作量都减少了一倍以上,”Bergstrom指出,“这对我们来说意义重大,因为C++代码的维护成本很高,需要庞大的团队投入大量精力,并且存在诸多风险。”
Bergstrom还提到,谷歌正进行类似的Java到Kotlin的迁移项目。根据内部匿名调查,两种情况下开发者掌握新语言并达到原有开发效率所需的时间大致相同。大约三分之一的开发者在两个月后,以及一半的开发者在四个月后表示他们在新语言中的工作效率与旧语言相当。
此外,超过一半的开发者认为Rust代码更容易审查。Bergstrom分享了一个调查中最令团队惊讶的问题:“人们对自己团队的Rust代码的正确性有多么自信?”调查结果显示,有85%的开发者给出了肯定的答复。Bergstrom表示,这是一个非常高的数字。
以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。
快照生成时间:2024-04-02 09:45:06
本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。
信息原文地址: