RUST 的性能, GO 的简单性 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FreeWong
V2EX    问与答

RUST 的性能, GO 的简单性

  •  
  •   FreeWong span title="2021-11-18 10:52:48 +08:00">2021-11-18 10:52:48 +08:00 6397 次点击
    这是一个创建于 1448 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有 RUST 的执行速度和性能,没有垃圾回收
    有 GO 的简单性 完善的社区库
    这样的开发语言有没有,目前?
    很期待这样的语言
    hhjuteman
        1
    hhjuteman  
       2021-11-18 10:55:19 +08:00
    c
    shyling
        2
    shyling  
       2021-11-18 10:58:57 +08:00
    c
    xujinkai
        3
    xujinkai  
       2021-11-18 11:01:57 +08:00 via Android
    确实是 c 其实很期待一个更现代化的 c 不过可惜的是 c 最重要的是兼容性
    FreeWong
        4
    FreeWong  
    OP
       2021-11-18 11:03:49 +08:00
    你们居然说 c 我做应用软件开发的,不做嵌入式
    多数情况下都是 tcp udp http 这样通讯,用 c 是不是库太少了
    514146235
        5
    514146235  
       2021-11-18 11:06:13 +08:00
    rust 不就没有垃圾回收么?

    rust 不就是被认为是代替 c++的么? linux kernel 好像已经引入 rust 了
    wellsc
        6
    wellsc  
       2021-11-18 11:06:55 +08:00
    你可以了解一下 zig
    mxT52CRuqR6o5
        7
    mxT52CRuqR6o5  
       2021-11-18 11:16:09 +08:00
    靠人的心智去管理内存简单不到哪去吧
    icyalala
        8
    icyalala  
       2021-11-18 11:21:57 +08:00
    不想要垃圾回收,又不想要自己管理内存的复杂性。
    cmdOptionKana
        9
    cmdOptionKana  
       2021-11-18 11:22:24 +08:00
    Go 的性能也不弱了,你真的需要 Rust 那么高的性能吗?

    要知道 V2EX 也只是用 Python 就撑起来了,淘宝用 Java 就撑起来了,你做什么项目需要用 Rust 来死抠硬件性能呢?
    Buges
        10
    Buges  
       2021-11-18 11:34:01 +08:00 via Android
    那就 go 就好了,很多场景 rust 由于复杂度导致实际应用性能还不如 go 。
    go 的简单性是掩盖了很多 edge cases 才做到的,你要即像 go 一样的简单设计,又能精细化的控制,那就看看 zig ,库是别想有,包管理都还没做完。
    另外 Simplicity is not easiness.
    ledkk
        11
    ledkk  
       2021-11-18 11:41:37 +08:00
    大部分场景都用不到语言的极限
    cin
        12
    cin  
       2021-11-18 11:45:52 +08:00
    Leviathann
        13
    Leviathann  
       2021-11-18 11:49:33 +08:00
    其实 rust 最重视的是安全
    比如标准库的 hashmap 默认的 hash 函数为了安全性(防止冲突之类的)用的是一个性能比较慢的算法
    Citrus
        14
    Citrus  
       2021-11-18 12:11:47 +08:00
    C 敢说 完善的社区库 ??? C 的依赖管理还不够乱么。。。
    HiShan
        15
    HiShan  
       2021-11-18 12:31:27 +08:00
    @FreeWong IM ? 场景完全跟语言的上限没关系啊,瓶颈不是在 IO 吗?
    dndx
        16
    dndx  
       2021-11-18 12:36:23 +08:00
    Rust 开发并不复杂,用 C 写过稍微复杂点的异步网络程序的都知道我在说什么....
    yolee599
        17
    yolee599  
       2021-11-18 12:51:17 +08:00 via Android
    越简单的语言越卷
    redvoilin
        18
    redvoilin  
       2021-11-18 13:05:40 +08:00
    crystal
    tesorouo
        19
    tesorouo  
       2021-11-18 13:31:08 +08:00   5
    @cmdOptionKana
    我的 Blog 能支持千万级并发,架构是按照双十一抢购秒杀设计的。

    与此同时,本月访客:3
    SingeeKing
        20
    SingeeKing  
    PRO
       2021-11-18 13:42:05 +08:00
    Rust 学会之后其实很简单
    SingeeKing
        21
    SingeeKing  
    PRO
       2021-11-18 13:43:18 +08:00
    而且因为 Rust 强大的宏 和 Go 目前还缺乏范型( 1.18 才正式出,出的初期也不可能普及),Rust 写起来可能比 Go 还简单
    SingeeKing
        22
    SingeeKing  
    PRO
       2021-11-18 13:43:57 +08:00
    还有就是,可以考虑下 Swift ,也满足你说的几个要求
    XCFOX
        23
    XCFOX  
       2021-11-18 13:51:29 +08:00
    简单性和低运行时本身就是相悖的,没见过哪个语言既简单又没有垃圾回收的。Rust 已经很不错了。GoLang 的语法在我看来已经是简陋了。
    LANB0
        24
    LANB0  
       2021-11-18 13:59:34 +08:00
    C 又简单,性能又好
    cmdOptionKana
        25
    cmdOptionKana  
       2021-11-18 14:09:56 +08:00
    @SingeeKing 如果用 Rust 但不过分追求性能(比如很多地方就直接用 immutable ,不考虑省内存),用起来确实很爽,语言表现力很强。但 Rust 的宏我觉得不太好用,而且没有反射,很多时候用宏不是因为好用而是不得不用,这有点烦。

    另外,Go 的编译速度是让我最离不开的优点,相比之下 Rust 编译起来感觉笨重。
    nmap
        26
    nmap  
       2021-11-18 15:34:34 +08:00
    99%的项目都不会在乎 rust/go 的性能差异,能快速出活才是王道
    oOoOoOoOoOo
        27
    oOoOoOoOoOo  
       2021-11-18 15:41:15 +08:00 via Android
    C Programming Language 又简单 性能又好
    oOoOoOoOoOo
        28
    oOoOoOoOoOo  
       2021-11-18 15:42:07 +08:00 via Android
    看你这形容 估计不是业务 而是想自造玩具
    CommandZi
        29
    CommandZi  
       2021-11-18 16:20:16 +08:00
    我推荐 Swift
    FanChen
        30
    FanChen  
       2021-11-18 17:20:20 +08:00
    Haskell
    Weixiao0725
        31
    Weixiao0725  
       2021-11-18 23:18:52 +08:00
    @SingeeKing 我对 swift 不了解,只是单纯的问一下:swift 现在支持 win linux 上运行吗? swift 开发的 gui 是不是只支持 mac os 的运行?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5699 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 387ms UTC 03:19 PVG 11:19 LAX 19:19 JFK 22:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86