rust强在编译器,为啥不能弄个类似的cpp编译器
本帖最后由 lactone 于 2024-12-28 21:28 编辑都说rust学习成本高,但是我觉得至少safe rust对小白来说有个好,就是别的语言里的很多小问题,rust analyzer都能识别,编译器都过不了
结果就是,一般情况下只要能编译过不报错,safe rust的计算结果就很难有错
其实反而并不需要你有太多的内存管理之类的知识
别的语言最麻烦的就是编译能过但是算的结果怎么弄都不对
但是话说回来,如果cpp也有一个类似强大的编译器或者语法检查器,是不是也可以达到类似效果 RUST不是说 规则比C++还麻烦。。。 208208 发表于 2024-12-28 22:08
RUST不是说 规则比C++还麻烦。。。
safe rust是这样的
但也恰恰是这样,很大程度上让编译只要能过,大概率结果就没啥问题 一个“报错信息更加友好”的c++编译器是可能的,其实已经改进过很多了,从前我真的是看到模板烂了痛不欲生
但是在继续屎山雕花的情况下应该是搞不出rust那个等级的编译器,在能玩裸指针而且大家都大玩特玩的情况下c++自由的过了头,这无法提供足够强的假设给编译器使用
—— 来自 vivo V2339FA, Android 15上的 S1Next-鹅版 v2.5.2-play 我大C++ 今天就是要NEW ,NEW来NEW去怎么了
C++如果可以,那还要Rust干嘛?
这方面C++有两个问题,一个是兼容C,另外一个是基于引用计数的std::shared_ptr,这两个问题都是解决不了的,不兼容C,C++就没有存在的必要了,在std::shared_ptr之外重新引入一套基于ownership的内存管理,只会让现在C++的内存管理变得更混乱 别的语言最麻烦的就是编译能过但是算的结果怎么弄都不对
这个 rust 也会出现啊,当有些块必须用 unsafe 包的时候,出了问题,难查出来的一样难查出来。 vc开最大警告一样很严格。c++主要还是模板库的出错信息很难看懂 因为cpp编译器需要兼容历史悠久的屎山,而且开发者也不会积极升级编译器,就像死守旧版windows那样 本帖最后由 無始無終 于 2024-12-29 11:07 编辑
C++的几个主流编译器连统一标准和默认行为都做不到,还想开发新的?
—— 来自 S1Fun 还是得要相关的语法特性支持才行的,可以关注下下面的这个今年中的旧闻 safe c++ https://www.oschina.net/news/312570/safe-c-plusplus (知乎)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已经进化成变形金刚了。
你只不过是一个生在没有我的时代的语言罢了! obiy 发表于 2025-3-3 13:27
(知乎)llvm怎么不用rust重写
省流:Rust语言特性迭代速度是cpp的十倍甚至九倍
如果语言更新快就能流行的话,c#早就该君临天下了 精钢魔像 发表于 2025-3-3 13:47
如果语言更新快就能流行的话,c#早就该君临天下了
java22:你c#快可爷也不慢啊
要比不是得用同一生态位的比?
论坛助手,iPhone
页:
[1]