Rust 不是一个好的 C 替代品

作者: 沃趣Squids数据库平台分类: 计算机技术 发布时间: 2023-12-22 14:44:02 浏览:9363 次

Rust 不是一个好的 C 替代品

黑脸的张飞叫渣渣:
我觉得这位老哥讲得很有道理,用C语言写项目需要很高得技能,但一旦你拥有了这些技能,写出来的代码是可以相当优雅的。C++提供了太多的功能,这降低了能参与项目的码农的门槛,但是这并不能帮助低水平码农将他们的代码变得优雅起来。 对于精英程序员来说,C语言单薄的功能根本不构成障碍,问题只是:我们的精英程序员够用吗? 我们是否应该降低参与项目的码农的技能门槛? 所以我对Rust的看法是:它的任务应当是在C和C++之间定义一个新的门槛,能允许更多人参与项目,而又不至于让菜鸟可以随意堆屎山。 我对Rust的了解还不足够让我下很明确的判断,但我的确有一种潜在的担心:Rust写出来的东西,哪怕是高手写的优雅代码,都特么很屎山。

【回复】回复 @StuffedVoiced :我刚看了rust一天,rust校验太严格,有可能导致新手过度以绕过校验为目标进行编码,例如不必要的mut引用,或者不必要的数据复制之类的,这些都是屎山隐患,即使是老手写的“优雅”代码,对新手来说也有可能是只可以看却不能改的东西,这也是另一种屎山。
【回复】不知道你在用rust没,为什么你会担心rust屎山呢?
【回复】以我对 Rust 的了解,Rust引入了相当多的函数式编程语言的设计,写代码的思路和写 C 完全不同
账号已注销:
不是,怎么还有想取代C的[笑哭]你问过Linus 理查德斯托曼等一大堆大神还有硬件厂商的意见吗?rust邪教徒差不多得了

【回复】回复 @GayPanda-41 :是这样的,因为rust魔怔人(咳咳,冰马,咳咳)太多了,以至于我看到rust取代xxx的反应就很大,但是本人也是rustactions(原谅我不会拼写这个单词) 首先rust的定位和C是不太一样的,rust的编译过程相对于程序员比较黑箱,而且其主打的安全性导致其大量封装了裸指针/寄存器操作等基础的内存操作,这意味着在直接操作硬件这一层rust是不太如C的。C作为一个portable assembly的地位在很长一段时间内都不会改变,这就是为啥我说rust不太可能取代C 实际上我认为在未来很有可能的操作就是C语言直接对硬件做操作,然后rust再用ffi封装C语言操作,再接下来,rust的零开销抽象,生命周期所有权模型就能发挥它的作用,保障复杂系统的安全性。
【回复】Linus 都同意并欢迎 Rust 进 Linux 内核了,而且 Linux 内核马上就要迎来第一个 Rust 驱动了 ......
ddoocc:
rust适合写大系统,比如数据库,浏览器内核,游戏引擎之类的。c适合写模块,比如操作系统硬件驱动。rust总体比c还是更偏向上层。

F社-若叶:
RUST有比较大的编译问题,比如插入rand插件,编译rustc,会失败

【回复】一时不知道说什么[笑哭][笑哭]
【回复】回复 @bili_202524412 :回复 @bili_202524412 :哈哈,要不你用gpt搜搜cargo add啥意思吧
小真真诩:
rust从来就不是替代c的。rust是对标c++的。

【回复】作为业余由嵌入式开发的学生而言我觉得rust想要对标C或C++还是挺有难度的。一方面,C语言其实已经足够简单了,RUST其实并没有比C/C++更好理解。也就是代码可维护性。另一方面,虽然我不能否认RUST的内存安全性更强,但是内存安全性这个东西更多的是编程者自己的习惯问题而且内存安全性的问题似乎也没有那么关键。无论是在Linux上写修改kernel还是写嵌入式端还是用C去写QT我自己都没有出现过内存泄露导致崩溃的情况,即便在长时间的运行下也没有。所以也找不出非要用rust不用C++的情况。
【回复】回复 @某只福瑞粉猫的小号 :java和c#都是有GC的,你会拿c++去和java比?而且历史哪个不比rust久?哪个生态差?是你在嘲笑吧[调皮]
【回复】回复 @野生的小金人 :其实问题蛮大的。。。工程越大,参与人员越多,人员流动越多,代码质量就越难保证。 市面上的各路产品、组件、SDK 代码量之庞大,维护周期之漫长,开发进度之紧张是你可能难以想象的。 出现内存问题就是个简单的概率问题,一定有特定百分比的代码是有安全问题的。 如果换用 C/C++ 以外的另一种语言能在宏观上降低风险代码比例,那在这个纬度上就已经成功了。
某公主链接福瑞的小号:
乱说,CPP的写法和rust压根不一样,编程习惯风格也完全不一样,用他们那一套编程会很痛苦,压根没有替换的价值只有rust神教徒吹着种语言[吃瓜]

【回复】感觉RUST像VIM和EMACS,很多人在吹,但实际工作中很少见人用。
【回复】回复 @才五点十分你就要去吃饭 :vscode neo插件 几乎完美
uomb:
c是目前和硬件架构契合度最高的高层语言

【回复】所以用c写驱动这就够了,我并不想用其他语言写驱动
乌拉圭呱呱哇:
c++真的很拉,就一个std string在逆向内存布局的时候有两三种情况,简直就是折磨而c语言基本上可见即所得舒服惨了[微笑]

冰花灵梦:
。。。这东西出来根本就不是为了取代c[笑哭][笑哭]老外也这么邪乎的吗

您查看的用户已不存在:
[吃瓜]c都成一种标准和规范了,谁有本事取代这玩意

账号已注销:
评论区很多人就学了一天就敢大言不惭发表言论,误导别人,这种人是真恶心[疑惑] 误导想了解并有兴趣学习的同学,真是坏透了! 你要批评至少你应该真懂吧!

siseniao1:
反正渗透到app开发还不知道猴年马月,估计我得退休了[吃瓜]

编程语言 C++ GO C语言 编程 教程 Rust Mozilla 编程开发

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!