V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cmos
V2EX  ›  程序员

要是用 Rust 就不会出问题了

  •  
  •   cmos · 4 小时 55 分钟前 · 3163 次点击

    最近在开发一个新项目,技术选型阶段又一次陷入了 Rust 还是 Go 的问题。

    实际用 Go 写起来非常顺手,并发模型简单明了,开发效率高,几乎没遇到什么语言层面的坑。从结果上看,项目运行稳定,性能也完全达标。

    但不知道为什么,总是觉得如果换成 Rust ,内存安全、零成本抽象、模式匹配,可以让代码更稳健,用 Rust 就不会出问题。实际上,Rust 的开发节奏会拖慢进度,而且 Go 的工程表现已经足够好。

    51 条回复    2025-12-11 14:30:24 +08:00
    chunqicoder
        1
    chunqicoder  
       4 小时 50 分钟前
    肯定是进度最重要啦,什么“内存安全、零成本抽象、模式匹配,可以让代码更稳健”对于进度来说都太虚幻了,对于普通业务来说进度才是唯一重要的,快速产出才是最重要的,我想起一个梗“当你不确定要不要买 mac 的时候说明你不需要 mac” 或者 当你不确定是不是必须要用 rust 的时候说明不需要 rust
    Niphor
        2
    Niphor  
       4 小时 32 分钟前
    要是没 bug ,怎么完成 kpi
    xdeng
        3
    xdeng  
       4 小时 25 分钟前   ❤️ 2
    还是太闲了🙂
    yplam
        4
    yplam  
       4 小时 23 分钟前
    除非是计算密集型、内存受限、大量 FFI 调用,不然还是 Go 实际点(大规模部署的除外)
    youyouzi
        5
    youyouzi  
       4 小时 22 分钟前   ❤️ 3
    @chunqicoder 哥,想去做手工了
    BingoXuan
        6
    BingoXuan  
       4 小时 20 分钟前
    go 能应对大部分抽象,并不需要 rust 。rust 是零成本抽象和大量抽象。比起 rust ,我更喜欢 zig 。但 zig 总是时不时来一个破坏性更新,真的很恼人。
    chchwy
        7
    chchwy  
       4 小时 18 分钟前
    GO 沒問題的話,Rust 還要解決什麼?
    cmos
        8
    cmos  
    OP
       4 小时 9 分钟前
    @chunqicoder 1#
    > 当你不确定是不是必须要用 rust 的时候说明不需要 rust
    这句话太好了,算是 rust 开发的准绳
    94
        9
    94  
       4 小时 9 分钟前   ❤️ 2
    > 但不知道为什么,总是觉得如果换成 Rust ,内存安全、零成本抽象、模式匹配,可以让代码更稳健,用 Rust 就不会出问题。

    Cloudflare 11/18 的大面积故障,不就是 Rust 写的业务代码有逻辑问题吗……
    WithoutSugarMiao
        10
    WithoutSugarMiao  
       4 小时 6 分钟前
    古法编程吗?能用 rust 就用吧,感觉之后 rust 可能会代替 go 的生态位。
    fengyj
        11
    fengyj  
       3 小时 57 分钟前   ❤️ 1
    锈批的幻觉:
    - rust 会取代 xxx
    - 上 rust 就没这问题了,然而很多时候问题不是全在语言本身,业务理解的 bug 才是根源
    craftsmanship
        12
    craftsmanship  
       3 小时 54 分钟前 via Android
    @youyouzi 这都能给认出来
    craftsmanship
        13
    craftsmanship  
       3 小时 52 分钟前 via Android   ❤️ 1
    @BingoXuan 还没推 1.0 。。别急
    cmos
        14
    cmos  
    OP
       3 小时 50 分钟前
    @fengyj 11#
    是的,我就是因为有这个幻觉,才总是下意识的想用 rust
    hingle
        15
    hingle  
       3 小时 42 分钟前
    经验丰富、或 rust 用熟练了,用哪个语言都可以,因为知道哪些地方比较容易出现内存安全问题。
    werls
        16
    werls  
       3 小时 32 分钟前
    要是不做开发,根本不会有纠结 go 还是 rust 的烦恼!
    ninjaJ
        17
    ninjaJ  
       3 小时 31 分钟前
    如果让我再选一次,我可能会简单的项目用 Rust ,复杂的项目不用它。
    作为一个老 Java ,可以说 Java 早已病毒入脑。之前在一个比较复杂的新项目中贸然使用 Rust ,为了兼顾灵活性、效率和内存安全,过早地使用了大量泛型和智能指针这些东西,认知负担特别重,踩了特别多的坑。
    要是再让我选一次,什么能让我一把梭,我就选什么。只有在遇到切实的语言相关的性能瓶颈、安全漏洞需要**重构**时,再用 Rust 锦上添花。
    慢工出细活才是入手 Rust 的正确使用方式。
    MindMindMax
        18
    MindMindMax  
       3 小时 5 分钟前
    Rust 的认知负担太重了,还是喜欢简洁的 Go 。
    相比给自己(合作开发者)创造那么大的精神压力,我宁愿牺牲一丢丢性能。
    珍爱生命,我用 Python ( Golang )
    Smileh
        19
    Smileh  
       2 小时 39 分钟前
    建议别搞程序员工作
    zxjxzj9
        20
    zxjxzj9  
       2 小时 39 分钟前
    谁说的用 rust 就不会出问题,Cloudflare 一行 rust 代码把全世界互联网干碎一晚上不记得了?
    DingJZ
        21
    DingJZ  
       2 小时 28 分钟前
    遇到问题再说,php 也跑的好好的
    之前遇到一个性能问题,让 ai 把一部分核心实现用 rust 重构后性能指数级提升
    MapHacker
        22
    MapHacker  
       2 小时 25 分钟前
    "实际用 Go 写起来非常顺手,并发模型简单明了,开发效率高,几乎没遇到什么语言层面的坑。从结果上看,项目运行稳定,性能也完全达标。"

    这已经是几乎完美的评价了,还换什么换
    Gilfoyle26
        23
    Gilfoyle26  
       2 小时 25 分钟前
    汇编性能最好,咋不用汇编写呢
    simple2025
        24
    simple2025  
       2 小时 23 分钟前
    cf 不也是用的 nginx 吗?
    charles0
        25
    charles0  
       2 小时 21 分钟前
    @simple2025 CF 用 Rust 自己实现了 Pingora 替代 nginx
    ano
        26
    ano  
       2 小时 7 分钟前
    现在的要求是能跑就行🤣
    justtokankan
        27
    justtokankan  
       2 小时 2 分钟前
    业务大于技术
    netizen
        28
    netizen  
       1 小时 56 分钟前 via iPhone   ❤️ 1
    @zxjxzj9 那也是开发者的问题,unwrap 直接上生产,怪不得语言
    VPNHunter
        29
    VPNHunter  
       1 小时 50 分钟前
    说了多少遍,不是高精尖项目,不要用 Rust ,不要用 Rust ,不要用 Rust !
    cmos
        30
    cmos  
    OP
       1 小时 47 分钟前
    @ano 26#
    人能跑也是跑!
    hugozach
        31
    hugozach  
       1 小时 46 分钟前
    那不如上 zig
    chambered
        32
    chambered  
       1 小时 31 分钟前
    Rust 的项目前期一定要有扎实的设计,否则后面加个小功能或者快速迭代你需要从头撸到底修改
    adoal
        33
    adoal  
       1 小时 27 分钟前
    Rust 最有价值的项目是重写 sudo
    MacsedProtoss
        34
    MacsedProtoss  
       1 小时 21 分钟前 via iPhone   ❤️ 1
    还是太闲了,rust 这玩意曲线又抖后期又埋坑的,不是邪教徒谁日常用这玩意
    franklinyu
        35
    franklinyu  
       1 小时 5 分钟前 via iPhone
    作為 Rust 愛好者勸你用 Go ,對大部分項目來說迭代才是硬道理
    canteon
        36
    canteon  
       54 分钟前
    钩子有屎加加
    aroad
        37
    aroad  
       49 分钟前
    @craftsmanship #12 添加个用户标签就好了
    66beta
        38
    66beta  
       47 分钟前
    @chchwy #7 解决那些顶尖程序员太闲了的问题
    kandaakihito
        39
    kandaakihito  
       43 分钟前
    我看 Rust 语言搞得不错,性能极大优化,cargo 工具链与借用检查也更便捷。如果能真的开工项目,Rust 就是我们理想中的生产级语言。(
    yiqiao
        40
    yiqiao  
       41 分钟前
    @zxjxzj9 #20 怎么还有人说是 Rust 的问题啊,核心原因又不是 Rust.
    就如 #28 楼说的,是自己菜。对 clickhouse 不熟悉写的两眼一黑的代码
    XIVN1987
        41
    XIVN1987  
       34 分钟前
    内存安全??带 GC 的语言也有内存安全这个问题吗??
    rust 的内存安全不是相对于 C 、C++说的吗??
    chtcrack
        42
    chtcrack  
       33 分钟前
    @netizen 没学过 rust,原来 unwrap 不安全啊,感谢,立马叫 AI 修改一下!
    LightLolo
        43
    LightLolo  
       26 分钟前
    业务工程类我先 GO 中间件 基建 底层支撑用 rust 用 rust 写业务也太痛苦了
    dacapoday
        44
    dacapoday  
       23 分钟前   ❤️ 1
    "实际用 Go 写起来非常顺手,并发模型简单明了,开发效率高,几乎没遇到什么语言层面的坑。从结果上看,项目运行稳定,性能也完全达标。"
    都已经这样了,还有什么缺点?是因为 Go 的名字不叫 Rust ,所以嫌弃它吗?
    cryptovae
        45
    cryptovae  
       12 分钟前
    @XIVN1987 带 GC 最大的问题就是向操作系统申请的内存不会立即释放,碎片内存利用率不高,并发下内存暴增非常明显,这里点名 Python
    5waker
        46
    5waker  
       10 分钟前
    @94 CF 的那次问题本质是变更不合理,没有任何灰度,预设特征数量过于死板。错误不处理顶多背锅 10%,这里面还有程序员的锅呢
    5waker
        47
    5waker  
       7 分钟前
    原始 Go 服务性能完全够用,业务也在稳定运行,重构是完全没道理的。真有性能问题了,我都建议扩容,重构耗时耗人
    supuwoerc
        48
    supuwoerc  
       4 分钟前
    cf 用 rust 不还是崩了吗,代码质量是看人的,不是看语言的,比如我,不关啥语言,我都能造屎山出来🐶
    IDAEngine
        49
    IDAEngine  
       3 分钟前
    Rust 和 Go 从来都不是问题,像微软的 asp 都可以稳定运行几十年不重启
    dapang1221
        50
    dapang1221  
       3 分钟前
    原神语言是这样的
    dosmlp
        51
    dosmlp  
       3 分钟前
    四字真言:能跑就行
    别想其他乱七八糟的
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5438 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 06:33 · PVG 14:33 · LAX 22:33 · JFK 01:33
    ♥ Do have faith in what you're doing.