- 主题:AI时代,C/C++码农确实需要尽快转到Rust了
之前是很多人觉得Rust:
1、学习曲线陡
2、语法晦涩难看
3、编译器检查太严,半天编译不过去。
但这些在AI agent面前都不是问题。所以Rust只剩下了好处。
AI是没有学习曲线的,最不怕编译器拦路,也不怕语法晦涩,AI agent在那里无限循环死磕就摆平了(写代码 -> 编译 -> 分析编译错误 -> 改代码 -> 编译。。。)
Rust编译器除了提示怎么改每个编译错误,在最后给出的那个提示,简直就是为AI量身打造的,直接告诉AI怎么看详细的错误信息。
“For more information about this error, try rustc --explain E0XXX.”
这种“代码生成 -> 编译器精准指出 E0XXX 并附带修改教程 -> AI 自我修正”的闭环,把原本折磨人的心智负担全都转移给了算力。可以说,Rust编译器其实是在教AI怎么写Rust。
而且Rust也能搞嵌入式和裸机。Rust嵌入式编程也可以写异步风格的async/await(Embassy开源框架),比较爽,虽然最后可能是单线程执行的。
相反,C/C++的问题是自由度大,编译器相比Rust则会放过更多的bug。
另外,C++的复杂模板推导对AI也是个问题。AI更适合强类型语言和特性,强类型的类型声明就是给AI的(类型)提示词,但是C++模板需要实例化时才能知道类型。
“AI agent根据大模型做概率发散 + Rust编译器根据强规则做收敛”,天作之合。
将来专门针对AI的语言也是必须做强规则检查的。
花了三四天时间,一是把C语言写的开源软件Privoxy重写为等价的Rust程序,二是用Rust新写一个转发代理。
写完用了用,很稳定。发在Rust版了。
https://www.newsmth.net/nForum/#!article/Rust/1780
--
修改:z16166 FROM 123.115.128.*
FROM 123.115.128.*
这能是AI写的?显然是我写的,糅合了一点AI提供的说辞,因为我觉得它比我表达得更好。
没有叛变,只有最合适。
C/C++的问题是很难一次写稳定,但Rust比较容易做到(特别复杂的当然要除外)。
不是完全抛弃C/C++,而是在C/C++/Rust这三者要三选一的时候(不能用有GC的语言、内存占用小而且确定、性能也有较高要求),优先考虑Rust。
我也不反对看AI的文字,因为我整天就在看AI输出的文字,不管是网页版的,还是AI agent里的。
我只看AI说的有没道理,说的语言风格有没有意思。
【 在 easior 的大作中提到: 】
: 浓眉大眼的竟然叛变了
: 另外,常见你发 AI 长文
: 老实交代,这个帖子是不是 AI 写的?
: ...................
--
修改:z16166 FROM 123.115.128.*
FROM 123.115.128.*
Rust已经可以使用QML了,因为支持QML所要支持的C++ surface小。比如qmetaobject-rs,或者官方的Qt Bridges。
不过这个主要是给熟悉QML的人用的,因为对于不执着于QML的人,他用Rust + webview(Tauri)跟用Rust + QML是一样的。
Rust也可以使用Qt Widgets,只是会比较麻烦点,因为Qt用的C++的继承,Rust是接口组合。
如果不是要极端的界面性能,Rust + webview(Tauri)也能代替。还有slint、gpui、egui等各种非webview的界面库。
【 在 iwantfly 的大作中提到: 】
: ai能把qt迁移过去, 就考虑
:
--
FROM 123.115.128.*
我用TRAE CN版本,那些模型对Rust的处理就有些问题。
比如:
1、不知道怎么设置才能静态链接到MSVC CRT,在cargo.toml里直接改了。实际应该在.cargo/config.toml里。
2、不知道怎么给Rust界面库libui-rs的窗口设置菜单。
因为这界面库特殊,窗口没有对外暴露设置菜单的接口,导致它会反复尝试、反复回退。让它读了那个库的实现代码也没搞定,因为最底层的实现隐藏在C代码里,通过FFI调用的。
3、怎么刷新那个界面库的日志窗口的重绘。
但是那几个写代码最好的AI model,不存在这个问题。
上面说的问题,Gemini Pro就能搞定,包括一个多窗口的Z-order导致的界面消失问题。
这同时也说明模型要用最好的,省了时间也相当于省了钱、赢得机会。
“布丁之证明在于吃”(The proof of the pudding is in the eating)
实际写写就知道了。
空谈、观望、怀疑没用,哈哈
昨天看到有个老伙计已经用AI编程赚了20万的副业收入了,说他现在用Claude上线一个网站也就45分钟。
【 在 world 的大作中提到: 】
: 我担心的是rust生态远不如其他语言成熟,导致语料不足,AI学习到的东西不足,写出的代码质量难以保证。
--
FROM 123.115.128.*
别想了,下辈子都不会有的,哈哈
Qt官方不会干这件事情,它想的永远都是提供各种绑定和bridge给别的语言用。
其他任何人也不会干这件事情,因为没有任何任何创新,只有体力活,还吃力不讨好,用Rust来模拟C++继承,那是真疯了。有这时间,还不如另起炉灶弄个新UI,起码还有创新能吹,还不受制于Qt的设计。
【 在 iwantfly 的大作中提到: 】
: 是纯rust实现,原生的
:
--
FROM 123.114.7.*
GPUI
Atom和Electron的一部分人马出来搞了个Zed Editor,把这个editor的界面库扒了出来专门叫GPUI。
能用这个库写出来Zed Editor这样的复杂界面,已经很强了,不过还在发展中。
【 在 hgoldfish 的大作中提到: 】
: 奇怪,Rust 现在已经这么流行了,为啥还没有好用的原生 GUI 库。
: 本身 GUI 库也经常有资源管理问题。正是 Rust 优化的好机会啊。
:
--
FROM 123.114.7.*
需要借助编译器根据规则做的确定性检查来拦住一部分bug。
C/C++/Rust这一层级的语言里,Rust编译器干这个最强。
不单是语法,而是Rust独有的所有权系统(Ownership)、借用检查器(Borrow Checker)以及强大的类型系统在编译期进行的严格静态分析,就搞定了一部分内存bug、线程同步bug。
如果AI足够强大,能拦住全部主要的bug(比如AI交叉review),那只靠AI、不依赖编译器和lint工具,也是可以的啊
【 在 speedboy2998 的大作中提到: 】
: 写程序的最大障碍难道只在语法本身吗?
:
:
--
修改:z16166 FROM 123.114.7.*
FROM 123.114.7.*
改行当产品经理就行啊,负责转换需求给AI实现
【 在 marxn 的大作中提到: 】
: AI辅助编程就是个伪概念。以后所有的高级语言都会消亡。Agent直接接受需求完成任务的时代不会太远了。码农应该尽早考虑改行。
:
--
FROM 123.114.7.*
我说的是优先选用Rust来实现
【 在 LYMing1986 的大作中提到: 】
: ai时代
: 还区分C/C++码农和Rust码农 吗?
:
--
FROM 123.114.7.*
C++最初的设计哲学是依靠码农,很多东西是让码农决策、码农负责的
现在最强的AI agent是Claude Code + Opus 4.6,可以试试它写的C++代码如何。
Rust相比C++的语言/编译器,多的就是那几个检查(ownership、borrow checker、lifetime、send/sync)
【 在 newzzdx 的大作中提到: 】
: 为啥不让AI agent写出高质量的C++代码呢?AI对比人类,更容易写出没有漏洞的代码。
:
--
FROM 123.114.7.*