Azure CTO 认为应以 Rust 代替 C/C++

2022-09-26 19:37:55 +08:00
 iwdmb

Mark Russinovich's Twitter:

Speaking of languages, it's time to halt starting any new projects in C/C++ and use Rust for those scenarios where a non-GC language is required. For the sake of security and reliability. the industry should declare those languages as deprecated.

机翻

说到语言,是时候停止在 C/C++ 中启动任何新项目,并将 Rust 用于需要非 GC 语言的场景。为了安全性和可靠性。业界应声明这些语言已弃用。

https://twitter.com/markrussinovich/status/1571995117233504257

5396 次点击
所在节点    程序员
39 条回复
seakingii
2022-09-27 00:15:29 +08:00
RUST 蚕食 C 以及 C++的情况越来越明显...
agagega
2022-09-27 00:17:22 +08:00
有时候可能不是 Rust 多么强,而是老 C++代码下限太低🤣 按说生命周期检查 C++也可以通过编译器扩展去做,C++某些时候表达能力比 Rust 还厉害一点,但我是真不喜欢 CMake ,C++要用个包也是麻烦
ColorfulBoar
2022-09-27 01:10:37 +08:00
@agagega #22 试试 vcpkg (manifest mode)?这玩意体验比较像 cargo 一点。另外有些人试过做 borrow checker 不过不太成功。我觉得这玩意也不是个技术问题,越是容易写出 lifetime 方面 bug 的人越喜欢写 borrow checker 检查不了的东西(并认为自己特懂硬件编译器在阻止自己控制底层细节),C++编译器又不可能强制搞个 strict mode ,那能怎么办嘛,还是得练习解决掉制造问题的人
cnbatch
2022-09-27 01:44:00 +08:00
这两条新闻,记得好像在哪里见过并且还曾经有很多人评论过……

然后想起来了,在这里:
https://www.oschina.net/comment/news/210809

其中一个评论我看得不太明白:“7 岁就得了肢端肥大?”


而 Pingora 的在上上周就被人讨论过:
https://www.oschina.net/comment/news/210473

目前高赞的是这个评论:
「现在性能强,是因为他满足自身定制的各种需求,但如果放到公用领域,就一样的功能臃肿,能做到稳定都不易,就别想性能了。不过是多了一个更多的选择。」

个人觉得,最好等到 Pingora 开源(如果 Cloudflare 愿意的话),应该会有不少人很感兴趣,从而在思路、设计的角度去跟 nginx 做一次对比和分析。接着或许会有一些有用的发现,说不定某些思路最终可以跨语言,大家都受益。
devcat9
2022-09-27 02:19:19 +08:00
泻药。

公司内部的共识是,能选 Rust 全选 Rust 。
不能选 Rust 的话,要用非常 modern 的 C++
leighton
2022-09-27 07:37:24 +08:00
以前在 aws 某有点年头的 org ,我走之前 org 的最新指导是,非 gc 语言要么纯 c 要么 rust ,gc 语言鼓励用 kotlin ,没特殊原因一律不准用 c++写新项目
iapplebear
2022-09-27 09:31:44 +08:00
非必要不使用 C++
x500
2022-09-27 10:05:46 +08:00
还是看个人水平
Andreas8
2022-09-27 11:27:30 +08:00
Rust 从入门到放弃👨‍🦼
lookStupiToForce
2022-09-27 11:44:31 +08:00
看完又想到了 linus 的名言
leegradyllljjjj
2022-09-27 13:53:23 +08:00
当初被你们匡去学 go ,学 web3.0 ,现在又让我去学 rust ,导致现在工作都找不到,你们这些坏人
taowen
2022-09-27 14:00:12 +08:00
WebAssembly 读和写 nullptr 都是不报错的。C++访问 move 之后的对象也是不编译报错的。这两玩意配合到一起,简直绝配。
sharpy
2022-09-27 14:54:14 +08:00
google 还有个 carbon ,这个像没有借用检查的 rust ,据说目标是兼容 c++
zxkmm
2022-09-27 17:17:35 +08:00
@sharpy 盈利公司和基金会背景的语言是两种结果。盈利公司的语言永远不可能发展到被用来写底层。也不可能被合并到 kernel 。
novolunt
2022-09-27 17:19:59 +08:00
@leegradyllljjjj 哈哈哈哈哈哈 笑出声
golang 还行吧
dog82
2022-09-27 20:04:23 +08:00
rust 的学习曲线很陡峭,容易放弃;对写 crud 的人不够友好
DeWjjj
2022-09-27 21:44:59 +08:00
rust = offical package management + offical lang + offical fmt.
c++ = metaur package management + mateur lang + mateur fmt.
c++变数太大了,规则还不一。但是 rust 就不一样了,给你卡的死死的不能变就是不能动。
虽然代码数量会写起来比较多,但是不容易错。
kennylam777
2022-09-27 22:55:33 +08:00
Google 了一下 Linux kernel rust ,還真的要來了
iwdmb
2022-09-27 22:59:16 +08:00
Linus Torvalds: Rust will go into Linux 6.1
https://www.zdnet.com/article/linus-torvalds-rust-will-go-into-linux-6-1/

能被当初把 C++ 战的体无完肤的 Linus Torvalds 认可
算得上 Rust 的一个大里程碑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883109

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX