[讨论] Google开发工具工程总监:Rust 开发者的

楼主: Lushen (wind joker!!!)   2024-04-27 14:57:38
Google开发工具工程总监:Rust 开发者的生产力是 C++ 的两倍
https://bit.ly/3JASfNe
过去两年,Rust 程式语言风头正劲,而 C / C++ 则略显疲态。Google近日分享了他们将
专案从 Go 和 C++ 程式码迁移至 Rust 的经验,结果令人惊讶:Rust 开发者的效率竟然
可以达到 C++ 团队的两倍。
Google Android平台工具的工程总监 Lars Bergstrom 在伦敦举行的 Rust Nation 英国
峰会上分享了这一消息。
过去几年,业界对于 Rust 的安全性和可靠性一直存在疑虑。Bergstrom 指出,由于担心
“unsafe”这个关键字,许多人认为使用 C++ 更为稳妥。然而,随着人们逐渐意识到非
内存安全语言带来的挑战,以及美国等国家政府将目光投向软件在关键基础设施扮演的
角色,这种观念正悄然发生改变。
Bergstrom 强调,如今美国等国家政府都愈发重视软件在关键基础设施中的作用,而绝大
多数大型程式码库的安全漏洞都源于内存安全问题。由于 Rust 程式码在恰当的使用下
能有效避免此类问题,内存安全俨然成为了国家安全议题之一。
微软:建议新专案使用 Rust 取代 C / C++
微软 Azure 首席技术长 Mark Russinovich 早在 2022 年 9 月就建议新专案使用 Rust
取代 C / C++。如今,这种趋势正从全新项目扩展到老旧程式码的重写。今年早些时候,
微软号召开发人员协助将 C# 程式码移植至 Rust。网络安全研究小组 (ISRG) 的
Prossimo 项目也正致力于用 Rust 重写关键库的核心开源部分 (例如 NTP、DNS、TLS),
以提升内存安全性。
当然,并非所有人都认同这一趋势。C++ 创始人 Bjarne Stroustrup 认为,通过适当的
工具,C++ 也可以实现与 Rust 等内存安全语言相同的保障,且成本更低。美国国家网
路总监办公室发布的软件安全报告也引来了一些评论,指出内存安全只是软件安全挑战
的一部分,不应该被过分夸大。卡内基梅隆大学软件工程研究所强调,每种程式语言都各
有优劣,选择应以适合项目为原则。
然而,Google等 Rust 拥护者的实践案例则反驳了 Stroustrup 关于成本优势的说法。
Bergstrom 表示,将 Go 程式码 (被认为是内存安全但性能较低) 转写成 Rust 的过程
中,Google取得了显著的成效,“迁移过程所需团队规模和时间几乎与 Go 开发相当,并
没有降低效率。更重要的是,内存使用率降低了,漏洞率也随之减少,程式码正确性得
到提升。”
C++ 程式码迁移至 Rust 的效率提升明显
更令人惊讶的是,将 C++ 程式码迁移至 Rust 的效率提升更加明显。
“在所有案例中,用 Rust 建构和维护服务的所需工作量都减少了一倍以上,”
Bergstrom 指出,“这对我们来说意义重大,因为 C++ 程式码的维护成本很高,需要庞
大的团队投入大量精力,并且存在诸多风险。”
Bergstrom 还提到,Google正进行类似的 Java 到 Kotlin 的迁移项目。根据内部匿名调
查,两种情况下开发者掌握新语言并达到原有开发效率所需的时间大致相同。大约三分之
一的开发者在两个月后,以及一半的开发者在四个月后表示他们在新语言中的工作效率与
旧语言相当。
此外,超过一半的开发者认为 Rust 程式码更容易审查。Bergstrom 分享了一个调查中最
令团队惊讶的问题:“人们对自己团队的 Rust 程式码的正确性有多么自信?” 调查结
果显示,有 85% 的开发者给出了肯定的答复。Bergstrom 表示,这是一个非常高的数字
作者: doranako (真爱无限)   2024-04-27 15:30:00
rust好像很威,请问c++值得转到rust吗
作者: hermes018 (cynric)   2024-04-27 16:25:00
有时间跟有兴趣学的话当然好但先看看现在职缺的数量差异,可能就要再想想
作者: shortoneal (不告诉你咧)   2024-04-27 17:16:00
以WASM来说,RUST的开发体验跟GO比不知道如何WASI起得来的话,应用场景应该可以更多
作者: JhouHank (Momomomomomo)   2024-04-27 17:32:00
前阵子有听到制造业前辈想把专案从PHP重构成NodeJS
作者: qwe78971 (小信)   2024-04-27 17:43:00
目前来看主流还是c Java 换语言先不论学习成本 旧有的系统多得是不能放弃的 新创可以转rust试试而已
作者: ohmylove347 (米特巴爾)   2024-04-27 17:43:00
台湾rust有缺吗?求职网搜了下感觉有10个就不错
作者: qwe78971 (小信)   2024-04-27 17:45:00
看了一下 rust才1%左右 感觉像公关文了==
作者: WWIII (东邪西毒)   2024-04-27 17:55:00
++就是垃圾
作者: MoonCode (MoonCode)   2024-04-27 17:58:00
作者: Apache (阿帕契)   2024-04-27 18:23:00
主要是原生开发的比例本来就比较少 不要说Rust C++也少在C++里面又有很大比例是靠框架开发 嵌入式这种所以能不能换过去就要看上游框架迁移的进度
作者: ab4daa (nooooooooooooooooooo)   2024-04-27 19:08:00
perl才是地表最强
作者: hermithsieh (hermit)   2024-04-27 19:11:00
台湾资方:Rust薪资也给30K以上面议,反正有AI辅助
作者: ssccg (23)   2024-04-27 19:25:00
有钱的公司就能一直换最新技术造轮子,一般公司还不是要等所有供应商换了才有得换
作者: HaHadog   2024-04-27 19:28:00
比较有名的那几个语言任何一个以开发效率而言都能把c/c++按在地上摩擦吧 c/c++一直都是以牺牲开发效率换取程式执行效能的啊
作者: qwe78971 (小信)   2024-04-27 19:29:00
有钱公司谁跟你狂造轮子== 拿LLM来说也是谁有能力直接整个挖过来 你现在GITHUB能放个有潜力的作品 也是把人整个挖过去 后续代码更新 维护也有保障开源听起来好像没钱赚 公司看到就两条路 一是直接拿去营利 二是把人挖过来 后续更新维护 持续营利 规模极大的可以免费更新 靠其它方式营利 即便是扩大使用者族群也可以 只有目光短浅才选一
作者: testPtt (测试)   2024-04-27 19:49:00
微软不推个Rust.NET吗 写应用层的还是比较多吧
作者: IhateOGC (我讨厌)   2024-04-27 20:10:00
卖害人了除非你都一辈子写高阶语言
作者: refusekkk (另类3k)   2024-04-27 20:15:00
就会吹
作者: a731977 (卡哇邦卡)   2024-04-27 21:02:00
RUST真的比较安全,至少内存上面是这样
作者: Lhmstu (lhmstu)   2024-04-27 21:07:00
台湾别想了吧,根本没什么职缺
作者: alan3100 (BOSS)   2024-04-27 21:18:00
一般公司烂code写下去就遗害5年以上 才没闲人力说换就换
作者: viper9709 (阿达)   2024-04-27 21:51:00
原来台湾职缺这么少喔...
作者: pig2014 (Rocking Man)   2024-04-27 22:15:00
然后C++的效能是rust的一百倍
作者: wei115 (ㄎㄎ)   2024-04-27 22:22:00
感恩Rust 赞叹Rust Rust是拯救世界的光 R门
作者: Kasima (Kasima)   2024-04-27 22:24:00
嘻嘻想看c++如何快100倍,楼上可以写个程式来展示一下吗
作者: wulouise (在线上!=在电脑前)   2024-04-27 22:37:00
rust跟c++在同样情境下效能差不多吧...只是你要重写整个c++不容易,不然google会重写chromium
作者: etbear (藤原熊)   2024-04-27 22:41:00
当然不可能重写 所以Google推的语言转换都有一定相容性不过Google对C++有意见一阵子了 之前还在试Carbon
作者: fantasystar (小光先生)   2024-04-27 22:52:00
有点意外google内部有团队特必把go专案改写成rust
作者: KyuubiKulama (九喇嘛)   2024-04-27 23:29:00
我猜是内部流动率太高,留下来的文件不够完整加上收进来的人没写过C++导致维护成本大幅提高
作者: Apache (阿帕契)   2024-04-28 00:19:00
其实很多人写过 但C++的可维护性就是那么差
作者: Arbin (路人_Lv菜逼八)   2024-04-28 04:20:00
C++只有编译效能快吧 Rust编译前做一堆检查会拖到编译速度效能大同小异R*程式执行效能
作者: superpandal   2024-04-28 06:11:00
个人没什么动力用 特爱体量小(不论编译器本身还是生成的执行档) 编译速度快 效能也很好的东西编译速度当然很重要 你一个套件都要编译半天 更别说
作者: gino0717 (gino0717)   2024-04-28 09:57:00
所以go要完了吗
作者: ketrobo (猫萝卜)   2024-04-28 10:13:00
长期来看rust比较好,至少语言层级就有内建机制管理资源
作者: achaos (热~~~~)   2024-04-28 10:50:00
文章内编译速度怎么一点都没有提,真的太慢了.
作者: zxzx8059 (zxzx8059)   2024-04-28 11:24:00
yacto跑一次一个半小时,换rust不敢想
作者: pig2014 (Rocking Man)   2024-04-28 11:49:00
rust在template上就是做不到cpp这么屌,所以两个根本是懒叫比鸡腿
作者: SkankHunt42 (me so horny)   2024-04-28 12:17:00
猪快让我笑死了 Rust的metaprogramming功能超强连个皮毛都不懂就出来在那边B0988698088
作者: Litfal (Litfal)   2024-04-28 13:09:00
id变成形容词我快笑死
作者: wuyiulin (龙破坏剑士-巴斯达布雷达)   2024-04-28 14:13:00
B0988698088 xDDD
作者: Bencrie   2024-04-28 14:53:00
太直接了吧 XDDD
作者: kurtsgm   2024-04-28 16:23:00
说到C++ vs others 我记得大概20年前就看过一篇文章 内容大致是说“多少年来各种XX语言扬言要干掉C++ 如今C++仍然屹立不摇” 一转眼20年过去了..... ha2024年C++还是各种新旧语言的假想敌 哈
作者: pig2014 (Rocking Man)   2024-04-28 16:59:00
少在那边瞎装逼,rust metaprogramming跟cpp比多虚弱早就一堆讨论。他妈的你在那边吹rust拿template来吹是三小?半瓶水响叮当?有真的把cpp的metaprogramming看进骨子里?还是他妈又是个非EECS半路出家的https://bit.ly/3WjBKwtCRTP、SFINAE、偏特化、移动语意兼完美转发现在软件业就是一堆邪魔歪的,人人都会写程式,每个智商都有对应适合的语言,然后掌握了就以为自己神功护体,浑然忘记为何以前真强者都要经过cpp的淬炼现在这个时代css html都能混口饭吃,没问题。但是学完自己喜欢的语言,老二翘上天以为自己程式神人才他妈的可悲
作者: SkankHunt42 (me so horny)   2024-04-28 17:09:00
你讲的那些有谁不懂? 现在懂这种基础就能出来吹阿XDSNIFE、偏特化 我看你吹这些连metaprogramming都还没摸到好啦 GGer乖乖帮我公司代工芯片啦
作者: gino0717 (gino0717)   2024-04-28 17:13:00
南无阿弥陀佛
作者: SkankHunt42 (me so horny)   2024-04-28 17:13:00
现在还有人在战语言 多学一门有很难吗 可能对低智商而言多学一门是真的很难 只好暴跳如雷
作者: Apache (阿帕契)   2024-04-28 17:47:00
反串的蛮不错的
作者: wulouise (在线上!=在电脑前)   2024-04-28 18:14:00
snife我真的没听过,跟SFINAE有关吗?
作者: shooter555 (shooter)   2024-04-28 18:16:00
两倍不知道怎么估的
作者: Firstshadow (IamCatづミ'_'ミづ)   2024-04-28 19:11:00
各位冷静==
作者: WTS2accuracy (宝钟海贼団の一味)   2024-04-28 19:13:00
战语言真的无聊 等RUST缺多了不学的自然被达尔文
作者: Csongs (西歌)   2024-04-28 20:08:00
翻译:c++工程师太贵
作者: pig2014 (Rocking Man)   2024-04-28 20:24:00
妈的就你不懂啊,rust缺东缺西结果你他妈的说自己懂在那边吹rust metaprogramming行?妈的明明就是在超模版公认缺乏的东西硬要说行?上面少把这件事移花接木成“战语言”。整件事是有个瞎逼在那边吹rust无所不能连metaprogramming也能与cpp平起平坐。我从来没说rust没存在意义,我说的是rust比cpp就他妈的懒叫比鸡腿,rust模板编程弱鸡,结果Skank自己瞎逼跳出来说rust也有metaprogramming不输cpp,公三小?
作者: kurtsgm   2024-04-28 21:26:00
有一件事是肯定的啦 10~15年后RUST发展的怎样我不敢说但八成又可以看到某新兴语言又标榜自己哪里哪里胜过C++
作者: lturtsamuel (港都都教授)   2024-04-28 21:45:00
c++在哪个情境下会比rs快一百倍?跟java比都不见得快那么多了c++模板元编程有几个人懂?懂的人有几个在用?用的人写出来的东西有多少可以好好维护?90%的人需要的元编程功能用trait就能搞定,剩下的9.9%用 procedural macro也能搞定c++元编程这么屌的话,怎么还没看到像 rust sqlx 这种可以从数据库推断出型别的函式库如果c++ 模板元编程这么屌,c++20干嘛还搞个concept,像过去那样动辄喷出十几页的模板编译错误不好吗?连c++那种可笑的移动语意也能吹捧 它的移动语意这么屌 干嘛还需要 linter 来抓 use after move 错误?这里谁没写过几个有bug的移动建构子?为什么各种建构子和operator=之间的一致性还要由程序设计师来负责?
作者: roccqqck (ccqq)   2024-04-28 22:46:00
go写的大型工具 取代java大型工具一阵子了 应该不太可能死掉
作者: Lhmstu (lhmstu)   2024-04-28 22:52:00
go 强项在 cloud-native 吧,很难死掉
作者: leolarrel (真.粽子无双)   2024-04-29 10:49:00
佩吉:"宣导一下go好吗,薪水拿假的?"我个人站在lturtsamuel这边
作者: dream1124 (全新开始)   2024-04-29 11:26:00
个人看法啦...Go嫌vm肥,但要丢却也丢不干净,而且在容器的世界跟别人一样也只是个原生程序,因此除非那些工具开发者特别利用Go独有的功能开一条方便整合的路给Go专用,否则它或许可以欺负没有编成原生的vm语言,但是跟同为原生的程式相比未必讨得到太多便宜。
作者: shooter555 (shooter)   2024-04-29 15:07:00
战语言的时候 C是不是都躲在旁边偷笑
作者: cathychg (凯西)   2024-04-29 15:18:00
Google 台湾 新进员工 大部分基本行情是到那古歌 台湾 基本行情 软工的基本计价 亚虎 李建复 ㄜ台湾 雅虎 软工的基本计价呢 ㄜㄜㄜhttps://i.imgur.com/tP9T6bV.jpeg日本 雅虎呢How about Japan yahoo software salary Ummmmmm
作者: Lordaeron (Terry)   2024-04-29 16:42:00
文无第一?改成武斗如何?找相同的题目来比。真的不要去管C,反正pointer 来pointer 去就好。
作者: viper9709 (阿达)   2024-04-29 23:25:00
语言武斗传(误)
作者: sp063439 (Isk)   2024-05-01 02:21:00
战语言比刷题串好看多惹
作者: kurtsgm   2024-05-01 12:23:00
语言优势劣势聊聊天没啥问题 战到脸红脖子粗根本吃饱太闲下了PTT还不是公司叫你用啥你就用啥
作者: newking761 (J三小)   2024-05-04 21:31:00
可是C++的职缺是你的几十倍欸……
作者: Killercat (杀人猫™)   2024-05-05 18:24:00
rust也是要看 .clone满天飞的code我想内存效能应该也不会好到哪去 =o=a
作者: wukeke (im)   2024-05-08 12:17:00
我们公司有Rust职缺,欢迎私讯了解

Links booklink

Contact Us: admin [ a t ] ucptt.com