V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gowl
V2EX  ›  分享发现

当 Rust 成为“巨坑”

  •  1
     
  •   gowl · 2023-01-07 14:23:08 +08:00 · 5449 次点击
    这是一个创建于 723 天前的主题,其中的信息可能已经有所发展或是发生改变。

    「我其实挺喜欢 Rust ,也绝无抹黑 Rust 的意思。但亲身经历告诉我,选择 Rust 几乎必然会对生产力造成重大影响,影响到快速行动这个基本目标。所以动手之前,请大家认真权衡 Rust 造成的速度影响到底能不能抵得上它给业务和产品带来的收益。」

    当 Rust 成为“巨坑”:拖慢开发速度、员工被折磨数月信心全无,无奈还得硬着头皮继续 https://www.infoq.cn/article/zyaaafbdy5zay8w5iamf

    17 条回复    2023-01-08 11:29:54 +08:00
    Jirajine
        1
    Jirajine  
       2023-01-07 14:29:47 +08:00   ❤️ 3
    说的没错,rust 被设计来编写高质量的程序代码,但这是有代价的。
    而在绝大多数商业场景中,程序代码的质量都不是最重要的,堆屎山用 go 这类语言痛苦会少很多。
    wu67
        2
    wu67  
       2023-01-07 14:43:06 +08:00
    本质上, 堆💩山能跑就行 - 代码质量 是天平两端, 商业项目都是在这两者之间取平衡点.
    其中脚本类、弱语言是偏向💩山最多的, 点名 js. 但是也伴随一个问题, 商业 idea 真的成了、赚钱了, 就得考虑优化代码质量, 往天平另一端挪, 不然代码会变得没法维护, 以为这商业 idea 失去了灵活性, 就只能等着被同行挤兑死了, 或者等着代码漏洞被人打烂
    cmdOptionKana
        3
    cmdOptionKana  
       2023-01-07 15:02:42 +08:00 via Android
    rust 的优缺点很明显,而且每种主流语言都必然有优点才能流行,也必然有缺点才不能一统江湖,选的时候就应该知道优缺点才对。
    sakura6264
        4
    sakura6264  
       2023-01-07 15:05:00 +08:00
    通常当你觉得你可能需要用 C++时候才可能用到 rust
    des
        5
    des  
       2023-01-07 15:14:57 +08:00
    标题党,原标题根本不是这个意思
    Kirscheis
        6
    Kirscheis  
       2023-01-07 16:16:23 +08:00 via Android
    深有体会,rust 强迫人们写可靠的代码,但是实际上大多数时候可靠性根本不重要,出问题重启就好了,算错数也会被后续的统计检验筛掉,即使是嵌入式领域,多数难解决的问题加个 watchdog 也都能凑合跑下去,就算产品在用户手里真的崩溃或者坏了,只要概率低一点也不是多大个事(就连特斯拉的车机这种东西死机了似乎也没有赔钱,要知道仪表盘可都在上面)。只有在很少,极少的领域,比如医疗,动力或航空才需要真正的高可靠性。

    何况很多人写代码是半路出家,不了解计算机的结构,对硬件理解很差,经验也不多,完全就是硬着头皮一股脑写下去,遇到问题就靠谷歌那种。让他们去搞 rust ,根本就不可能搞定,最后当然是很挫败。想要找可靠的专家合作的话,一是人数不多,很可能根本找不到,二是价码很高,找到人也不一定能谈拢。

    两个因素合起来,那就是用 rust 收获不大,对于我们来说完全可以用 c ,cpp 代替,但是成本究极倍增。

    曾经尝试过用 rust 做固件,得到的结论是,这东西也许 5 年后会很好,到时候足够内卷,也许多数写程序的人就能理解内存是怎么一回事了。但现在就用,你的队友只会让你血压疯狂升高。
    8355
        7
    8355  
       2023-01-07 16:34:25 +08:00   ❤️ 1
    前几天喷 golang 说 rust 好 今天又说 rust 是巨坑
    果然 php 才是最好的语言啊
    xieren58
        8
    xieren58  
       2023-01-07 17:07:37 +08:00   ❤️ 1
    rust + rtic, 用在 stm32 上, 爽得飞起...
    agagega
        9
    agagega  
       2023-01-07 17:37:57 +08:00   ❤️ 1
    复杂性是不会消失的,它只会从一个地方转移到另一个地方。不同的语言适合管理不同地方的复杂度。前端娱乐圈的某些人听到 Rust 这个名字就起兴了,一副在此之前从来没听说过原生语言的模样,简直是胡闹。

    Rust 是好,但它并不适合所有场景。我倒希望能有一个带 GC 、抽象层次高的原生语言,OCaml 比较接近,就是阳春白雪了些,C#也不错。不需要 GC 的场景,如果 C++真的能有实用性的生命周期和包管理解决方案(怎么会有人说 CMake 这种东西 modern 啊),我甚至还挺乐意用 C++
    SolarAA
        10
    SolarAA  
       2023-01-07 19:36:10 +08:00
    @agagega OCaml 5 有了多线程真希望能够和 Go 拼一拼,可惜生态不好。
    kaneg
        11
    kaneg  
       2023-01-07 19:53:17 +08:00 via iPhone
    鱼与熊掌不可兼得,不能既要 rust 的安全严谨,还要敏捷快速。
    或许很多初创公司的代码还没累积到屎山就死了,所以用 js 可能跟合适。
    但一旦跨过生死考验,准备长期发展时,就开始为当时的选择付出代价:欠下的迟早要还的。
    duke807
        12
    duke807  
       2023-01-07 20:02:52 +08:00 via Android
    linus 都说了,同意 linux 支持 rust 是为了惩罚开发人员,很多人还真以为 rust 是未来了
    littlewing
        13
    littlewing  
       2023-01-07 21:27:36 +08:00
    @duke807 真要惩罚开发人员应该用 C++
    acctv2
        14
    acctv2  
       2023-01-07 21:34:41 +08:00   ❤️ 2
    @agagega 其实 C++本体不太恶心,尤其如果项目主体用的 C++11 以上标准。
    C++的编译和工具链太恶心了,太恶心了,太恶心了。
    jiang42
        15
    jiang42  
       2023-01-08 02:44:35 +08:00
    有這時間去重新用 Rust 發明輪子,不如好好在 C++上搞搞形式化驗證-。-
    zjsxwc
        16
    zjsxwc  
       2023-01-08 10:37:35 +08:00 via Android
    https://scribe.rip/using-rust-at-a-startup-a-cautionary-tale-42ab823d9454

    原文不是楼主说的意思吧。
    rekulas
        17
    rekulas  
       2023-01-08 11:29:54 +08:00
    20 21 年很多推 rust 的文章,鼓吹初创公司用 rust 我就感觉这有点不合适
    初创公司需要快速实现产品,而大部分的初创公司的产品都难以遇到真正的性能瓶颈(至少前几年是这样),而相比其他语言 rust 的学习曲线和开发效率也是有目共睹,所以实在不建议首选 rust
    后悔选择 rust 的公司我都看了不少了,这可能只是个开头。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1068 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:36 · PVG 03:36 · LAX 11:36 · JFK 14:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.