lactone 发表于 2024-12-28 21:25

rust强在编译器,为啥不能弄个类似的cpp编译器

本帖最后由 lactone 于 2024-12-28 21:28 编辑

都说rust学习成本高,但是我觉得至少safe rust对小白来说有个好,就是别的语言里的很多小问题,rust analyzer都能识别,编译器都过不了

结果就是,一般情况下只要能编译过不报错,safe rust的计算结果就很难有错
其实反而并不需要你有太多的内存管理之类的知识

别的语言最麻烦的就是编译能过但是算的结果怎么弄都不对

但是话说回来,如果cpp也有一个类似强大的编译器或者语法检查器,是不是也可以达到类似效果

208208 发表于 2024-12-28 22:08

RUST不是说 规则比C++还麻烦。。。

lactone 发表于 2024-12-28 22:09

208208 发表于 2024-12-28 22:08
RUST不是说 规则比C++还麻烦。。。

safe rust是这样的

但也恰恰是这样,很大程度上让编译只要能过,大概率结果就没啥问题

migros 发表于 2024-12-28 22:10

一个“报错信息更加友好”的c++编译器是可能的,其实已经改进过很多了,从前我真的是看到模板烂了痛不欲生

但是在继续屎山雕花的情况下应该是搞不出rust那个等级的编译器,在能玩裸指针而且大家都大玩特玩的情况下c++自由的过了头,这无法提供足够强的假设给编译器使用

—— 来自 vivo V2339FA, Android 15上的 S1Next-鹅版 v2.5.2-play

208208 发表于 2024-12-28 22:11

我大C++ 今天就是要NEW ,NEW来NEW去怎么了

r_ex 发表于 2024-12-28 22:14

C++如果可以,那还要Rust干嘛?
这方面C++有两个问题,一个是兼容C,另外一个是基于引用计数的std::shared_ptr,这两个问题都是解决不了的,不兼容C,C++就没有存在的必要了,在std::shared_ptr之外重新引入一套基于ownership的内存管理,只会让现在C++的内存管理变得更混乱

ryanz 发表于 2024-12-28 22:41

别的语言最麻烦的就是编译能过但是算的结果怎么弄都不对
这个 rust 也会出现啊,当有些块必须用 unsafe 包的时候,出了问题,难查出来的一样难查出来。

精钢魔像 发表于 2024-12-28 23:31

vc开最大警告一样很严格。c++主要还是模板库的出错信息很难看懂

obiy 发表于 2024-12-28 23:32

因为cpp编译器需要兼容历史悠久的屎山,而且开发者也不会积极升级编译器,就像死守旧版windows那样

無始無終 发表于 2024-12-29 07:19

本帖最后由 無始無終 于 2024-12-29 11:07 编辑

C++的几个主流编译器连统一标准和默认行为都做不到,还想开发新的?

—— 来自 S1Fun

9Suns 发表于 2024-12-29 08:04

还是得要相关的语法特性支持才行的,可以关注下下面的这个今年中的旧闻 safe c++   https://www.oschina.net/news/312570/safe-c-plusplus

obiy 发表于 2025-3-3 13:27

(知乎)llvm怎么不用rust重写

省流:Rust语言特性迭代速度是cpp的十倍甚至九倍

C++就是三叶虫。

我们看看最古老的C++问题之一:模板报错。

这个问题2006年就有解决方案了:Concept。但是Concept 2020年才进入C++,而且只能算‘如入’:连C++标准库都没有用Concept定义数据结构!

而同时,Rust
是2006年,一并出来的,并且在2012年就有Concept的对应物:Trait

。就是说,Concept弄进C++的功夫,你可以拿来做2.5个Rust,然后去对战宿傩了。

道理很简单:不兼容性。弄出Concept原型简单,难的是跟template的100个小特性进行兼容。

同理,module也是2006年就有的,也是2020年进入C++,也一样没人用。也是一样需要考虑无数的兼容性问题。

而我们看看隔壁Rust的进化速度:NLL

是2017年提出来的,并在同年已经进入了unstable。而NLL在2022年就是默认feature了。这是C++ concept/module的三倍速(而且这两feature还没人用,要大规模迁移不知道还要等个多少年)。

而最致命的甚至不是concept/module,而是C++没有一个safe并高性能的subset。同理,C++在遥远的以后,可能进化出来,但这时候Rust已经进化成变形金刚了。

你只不过是一个生在没有我的时代的语言罢了!

精钢魔像 发表于 2025-3-3 13:47

obiy 发表于 2025-3-3 13:27
(知乎)llvm怎么不用rust重写

省流:Rust语言特性迭代速度是cpp的十倍甚至九倍


如果语言更新快就能流行的话,c#早就该君临天下了

defer 发表于 2025-3-3 13:57

精钢魔像 发表于 2025-3-3 13:47
如果语言更新快就能流行的话,c#早就该君临天下了

java22:你c#快可爷也不慢啊

要比不是得用同一生态位的比?

论坛助手,iPhone
页: [1]
查看完整版本: rust强在编译器,为啥不能弄个类似的cpp编译器