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

RUST 的未来在哪里?

  •  2
     
  •   imes · 123 天前 · 12758 次点击
    这是一个创建于 123 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 论性能,C/C++和 RUST 基本差不多
    • 论生态,新语言都很尴尬,包括 golang
    • 论场景,系统级开发绝对数量太少了

    RUST 样样都不落下风,可是样样都有成熟的平替。唯有在一些新兴产业上,因为没有“历史包袱”和“前人”,能发挥足够的效果,比如区块链和 Web3 等。
    最能拿得出手的是安全性,可是这个东西对于“小程序”而言,并非什么不可名状的东西。
    进一步而言,是否就导致了RUST 缺乏广泛的实际场景,进入出现了“重写一切”的趋势,希望从根本上重构目前的生态以发挥足够的能力。

    101 条回复    2024-08-13 10:28:06 +08:00
    1  2  
    knightdf
        1
    knightdf  
       123 天前   ❤️ 1
    等这波 go 热度过了就轮到 rust 了,哈哈
    guotie
        2
    guotie  
       123 天前   ❤️ 1
    blockchain
    RedBeanIce
        3
    RedBeanIce  
       123 天前   ❤️ 3
    rust 没有未来。go 起飞。
    smallboy19991231
        4
    smallboy19991231  
       123 天前   ❤️ 3
    只能慢慢替代 C/C++了吧,再給 10 年都不夠發展的,C/C++已經佔據太多底層領域了,除非,越來越多的人用 RUST 替代大多數 C/C++的領域,突破圈子,讓大眾也了解到 RUST 的好處,還有 RUST 太難了,如果未來發展成教學友好,再加上各種名校都推廣起來,先讓教育流行起來,未來在工業才能有大量 RUST 湧入,可惜的是只有部分美國高校才有一些 RUST 的課程,在中國幾乎都是 C/C++為主,中國是不可能流行 RUST 的,因為 C/C++絕大數項目都是老項目,維護起來都麻煩,如何重構呢?
    guotie
        5
    guotie  
       123 天前
    我水平有限,所以我更喜欢 zig
    zidy
        6
    zidy  
       123 天前
    rust 搞 web 太重,搞中间件/性能工具还可以,公司搞对内收益低,对外竞争大,收益周期长。
    智能合约可以写一下,试试水。
    baiyi
        7
    baiyi  
       123 天前
    内核?
    haiku
        8
    haiku  
       123 天前 via Android
    rust 估计还是停留小众领域了
    目前最火的 ai ,训练推理大部分还是 cpp+Python 吧
    xliao
        9
    xliao  
       123 天前   ❤️ 2
    昨天才在 medium 看到一篇文章[狗头]:[花了 18 个月用 Rust 重构算法交易平台,然后现在充满了后悔]( https://medium.com/@austin-starks/i-spent-18-months-rebuilding-my-algorithmic-trading-in-rust-im-filled-with-regret-d300dcc147e0)
    coolfan
        10
    coolfan  
       123 天前
    押宝 tauri
    DeWjjj
        11
    DeWjjj  
       123 天前
    rust 太重了,不适合敏捷开发。
    国外很多项目都是 ts 一把梭配合 mongodb 。

    除非是大型项目重构或者是解决性能问题,不然用到的概率确实是低。
    panda1001
        12
    panda1001  
       123 天前
    还有那么多命令行程序,每个都重写一遍咯
    NessajCN
        13
    NessajCN  
       123 天前   ❤️ 7
    你真用过 Rust 的话应该不会有这些疑问
    论性能,比 C/Cpp 差不多,但是开发体验好了很多
    论生态,c/cpp 的库拿来直接用,还有 riir 党在孜孜不倦得 xxx-rs 化
    论场景,不仅平替原本 c/cpp 的场景,还能把 jvav 和 go 的场景一起打包 a 了
    也就 js/ts 写网页脚本和 python 写学术脚本暂时还替代不了
    snylonue
        14
    snylonue  
       123 天前
    说实话 rust 糊屎山的体验挺好的
    zengxs
        15
    zengxs  
       123 天前   ❤️ 3
    Rust 适合给脚本语言写基础库,比如 Python 、Node.JS 啥的很多要求性能的基础库已经用 Rust 写了( pydantic ,swc )
    纯 Rust 写业务那太费劲了,开发效率超低
    augustheart
        16
    augustheart  
       123 天前   ❤️ 2
    替代不了的,rust 只能寄希望于建立自己的生态位,比如容器之于 go 。目前 rust 还缺这么一个东西。
    替代 c++就更是类似于 zig 替代 c 一样的呓语了。有这种想法的怕是并不知道 c++和 c 是一样什么样的庞然大物,那是随随便便都能编出几篇名为”xx 条不可替代的理由“之类的文章。
    zengxs
        17
    zengxs  
       123 天前   ❤️ 1
    @NessajCN #13 前两点认同,但 java 和 go 的领域 rust 还真没办法替代,rust 写业务太费劲
    wniming
        18
    wniming  
       123 天前
    rust 适合用来开发轻量级 vmm ,cloud-hypervisor ,firecracker microvm 这种,公有云场景下非常注重安全性。
    AoEiuV020JP
        19
    AoEiuV020JP  
       123 天前
    听说 rust 进 Linux 内核了, 如果哪天 linux 编程第一课 hello world 是用 rust 写的了,那就是 rust 的时代来了,
    Kumo31
        20
    Kumo31  
       123 天前   ❤️ 1
    用 Rust 做过分布式数据库和存储引擎,比 cpp 体验好太多了... Rust 最主要的问题是招人难; 其次是生态上各种库永远是 0.x 版本,每次一升级依赖 一大堆 breaking change ,包括语言本身不上 nightly 也一堆特性没法用
    keppelfei
        21
    keppelfei  
       123 天前
    没有 c 系列的底蕴,加上入门门槛高,感觉未来很难有所作为。
    labdum
        22
    labdum  
       123 天前
    rust 的未来在 swift (笑)
    今年 wwdc 还开始进一步发展全平台 linux 和 windoes 还有嵌入式 swift
    1zh3n
        23
    1zh3n  
       123 天前
    @keppelfei 感觉开发体验比较 [现代化] ,可能比 C++ 爽一点。这一点应该能吸引一些开发者
    gaooo
        24
    gaooo  
       123 天前
    网红语言,有什么未来
    supuwoerc
        25
    supuwoerc  
       123 天前
    内核,高性能工具
    iliaoliao
        26
    iliaoliao  
       123 天前
    我最近还在考虑用 rust 的 egui 重构我的 windows 应用
    iMusic
        27
    iMusic  
       123 天前
    在前端工具圈发光发热
    undeflife
        28
    undeflife  
       123 天前   ❤️ 3
    @xliao 这是个 trol ,l 翻翻这哥们的贴就会发现他不断的用 gpt 生成各种碰瓷文章来推广他的交易平台
    knowckx
        29
    knowckx  
       123 天前
    我感觉业届需要的是一个改进版的 C++ 保持无 GC 性能优越 使用 C 的语法 然后改进 C++的缺点 不要有历史包袱 把其他现代语言的优点吸收一下 这就很完美了

    Rust 太另类了,完全不是 C 的风格,注定小众,感觉未来取代不了 C++
    povsister
        30
    povsister  
       123 天前
    中间件,工具,各种基础底座。
    rust 不适合敏捷业务开发。
    楼上说的也很对,rust 缺少 k8s 云原生这样的杀手锏。
    zomco
        31
    zomco  
       123 天前
    嵌入式 rust 是一个方向
    xliao
        32
    xliao  
       123 天前
    @undeflife 原来如此!。多谢提醒
    uni
        33
    uni  
       123 天前
    现在 ai 这块 c++独大一部分原因在于英伟达生态全是 c++,什么时候大家看英伟达不爽联合起来搞开源 ai 生态,还决定用 rust 搞,那就有意思了
    kenvix
        34
    kenvix  
       123 天前
    其实如果 Rust 能像 Kotlin 一样寄生在 Java 生态然后逐步反客为主,那替代 C/C++还是非常有戏的
    IvanLi127
        35
    IvanLi127  
       123 天前
    我觉得 rust 比 c/c++好写多了。期待嵌入式被 rust 一统天下的那天。

    rust 现在生态还不繁荣,要是繁荣了,我估计就不会主要只在小工具上出彩了。

    我押 rust 和 typescript
    yplam
        36
    yplam  
       123 天前 via Android   ❤️ 5
    两年 Rust 经验,现在除非是完全没 IO 等待的代码,否则都不太愿意用 Rust 写,async+所有权机制会导致代码实现非常麻烦,开发效率低很多。对 Rust 有兴趣的朋友可以看看 libp2p 库,对比一下你熟悉的语言与 Rust 的实现。
    happyxhw101
        37
    happyxhw101  
       123 天前
    相信我,随着硬件的发展,越简单的语言发展才越好
    qq135449773
        38
    qq135449773  
       123 天前
    为什么要和未来谈未来在哪🤣🐶
    darklinden
        39
    darklinden  
       123 天前
    * 随着 ai 的发展,rust 的“难写”只会越来越不是问题
    * 只有真正喜欢强类型然后被 ts, python hint 之类坑过的才知道拿 rust 糊屎山有多舒服
    * 写着写着你确实会怀疑人生,因为很多 c/c++ 很简单的东西拿 rust 写起来很费劲,但是不妨碍你写不 “rust” 的 rust 代码
    * 但是裱糊业务代码的时候,你会发现,只要搭好架子,这玩意儿配上 copilot 简直就是一键生成还不怕 ts 的各种坑
    * 虽然很多库是 0.x , 但是用 node 的都知道各种库的 breaking change 有多 change ,这种事儿至少目前 rust 好改
    minami
        40
    minami  
       123 天前   ❤️ 3
    谁还记得 rust 被发明出来是为了写 servo 的,如果 servo 成了,rust 就有自己不可替代的根据地,结果嘛。。。
    seakingii
        41
    seakingii  
       123 天前
    @guotie zig 现在体验怎么样?几个月前试用了一下,感觉这个库没有,那个库没有,包管理都不方便
    kita
        42
    kita  
       123 天前
    c++ template 还是很香的,rust 还要靠着 foreign language interface
    zzhaolei
        43
    zzhaolei  
       123 天前
    rust 的 where 子句太复杂了,默认的 blanket impl 也很复杂,源码都看不懂。如果就是用 rust 写,而不关心底层实现还行。
    k9982874
        44
    k9982874  
       123 天前 via Android
    已经看到有前端去卷 rust 了,相信不久 rust 就会像前端一样重新发明大量工具和概念
    zzhaolei
        45
    zzhaolei  
       123 天前
    @seakingii 现在包管理处于能用的状态。zig 的生态现在还是靠封装 c 库,有一些封装好的,但是还是需要自己进行封装一些。
    cinlen
        46
    cinlen  
       123 天前
    不知道为什么第一个冲上去的是搞 web 的那群人,把 web 的轮子在用 rust 再造一遍,收获了一堆 star 然后留下一堆 bug 。
    wsseo
        47
    wsseo  
       123 天前
    华为仓颉也来了,卷不动了
    C0dEr
        48
    C0dEr  
       123 天前
    写 rust 确实痛苦,他用语法强制开发者考虑内存安全问题,再加上异步等等,对于新手来说简直是灾难。
    whp1473
        49
    whp1473  
       123 天前
    @knowckx 这说的像是去掉 GC 的 GO
    mightybruce
        50
    mightybruce  
       123 天前   ❤️ 1
    rust 估计要继续坐很长时间的冷板凳,rust 能独当一面和建立起自己的杀手级应用和领域并不多,再者背后也没有一个好爸爸。

    rust 目前占据的领域 (占据指的是用 rust 是主流,而其他语言没有 rust 成熟的领域)
    1. wasm 和 wasi 接口开发 (要求能提供一定的对系统隔离的安全性并性能极高和操作操作系统的接口)

    2. 一些对性能要求有明确要求能达到相应的数量级的中间件 (比如 cloudflare 的 pingora, 数据分析的 polars), 这类中间件需要从头开始开发,而不是基于一些开源的二次开发

    3. 区块链和数字合约

    4. 一些安全的库, 用 rust 重新写一些比如 openssl 的库比如 rusttls , 可以降低一些 cve 的概率,并不是能保证没有安全风险。
    mightybruce
        51
    mightybruce  
       123 天前
    至于写 web 从来都不是苛求性能的领域, 重业务逻辑的领域也不会考虑 rust 这门语言。
    市面上的 rust 多数课程也都是卖课和误导新手的
    zoffy
        52
    zoffy  
       123 天前
    rust+军工,有没有搞头?
    yplam
        53
    yplam  
       123 天前
    @mightybruce 按我的理解,rusttls 不过是对已有 TLS 库的封装,其实现 ring 或者 aws-lc 实际上还是用 C/C++,所以并不比已有库安全多少,这也是对 Rust 失望的原因,都这么多年了也没有公司投入去实现这些基础库
    fgwmlhdkkkw
        54
    fgwmlhdkkkw  
       123 天前
    rust 是先进,但是还不够先进,远远不够。
    catazshadow
        55
    catazshadow  
       123 天前
    看什么东西都要想是不是主流,也是你朝人士的意识形态定势了
    wakaka
        56
    wakaka  
       123 天前
    go 还可以,写业务的时候简简单单。
    AWS 开大会的时候必有推荐宣传 Rust 的环节。但是感觉上限还是不够高。
    相比于 Rust ,依然看好 C/C++,新特性都挺好的。23 ,26 ,39 ,32 ,35 ,38 ,41...那个时候 Rust 应该 rust 了吧?
    GeekGao
        57
    GeekGao  
       123 天前
    golang 的性价比比 rust 高(学习曲线、候选人数量、开发效率)
    araraloren
        58
    araraloren  
       123 天前
    @cinlen 这你就要问 web 那些人了,那些人相对来说更喜欢接受/搞新技术,而其他传统领域语言相对固化
    rust 首先满足 web 开发的需求不是没有道理的,这就是市场驱动
    araraloren
        59
    araraloren  
       123 天前
    要说未来,有金主爸爸谁会愁未来呢
    Griffith
        60
    Griffith  
       123 天前
    @happyxhw101 完全同意,毕竟大部分都是业务场景,需要变化和迭代的也都是这些。
    goxxoo
        61
    goxxoo  
       123 天前
    都没有未来, php 起飞
    Mark24
        62
    Mark24  
       123 天前
    没啥未来。

    C/C++ 的地位无人可以撼动。

    其他语言都是某个场景下的补充。
    LiuJiang
        63
    LiuJiang  
       123 天前
    Rust 未来在前端工程化
    lambdaq
        64
    lambdaq  
       123 天前
    @zengxs pydantic v2 烂得一批。比如给自定义 Field 统一写一个序列化/反序列化 方法。做不到!

    不知道现在支持没。
    ixcode
        65
    ixcode  
       123 天前
    Crypto 领域 rust 起码占了一半的份额,而且新项目首选 rust
    sampeng
        66
    sampeng  
       123 天前
    在我编辑器里在哪里。。。不就是工具么。。
    xue777hua
        67
    xue777hua  
       123 天前 via iPhone
    @Kumo31 数据库 nightly 瞧瞧你自己在说什么😧
    knowckx
        68
    knowckx  
       123 天前
    @whp1473 go 有性能硬伤
    imes
        69
    imes  
    OP
       123 天前   ❤️ 1
    @smallboy19991231 4#
    工业上,看到乐鑫在推动 Rust on ESP ,但是难度太大,前景不容乐观。
    imes
        70
    imes  
    OP
       123 天前
    @augustheart 16#
    替代 C++的难度太大了,谷歌的 carbon 上位都比 Rust 的概率大。
    imes
        71
    imes  
    OP
       123 天前
    @Kumo31 20#
    请问这些 breaking change 的根本原因是什么?主导力量弱,社区迭代频繁,亦或者其他?
    imes
        72
    imes  
    OP
       123 天前
    @IvanLi127 35#
    乐鑫倒是一直在推动 Rust on ESP ,但是对于他们而言,阻力也相当大。
    456789
        73
    456789  
       123 天前
    吹点牛逼就是 点错了技能树比不点技能树是有用的,这个语言更多的是提供了一种想法和实践。
    gowk
        74
    gowk  
       123 天前   ❤️ 1
    复杂的学习曲线,满屏怪异的符号,写完代码过几天就看不懂
    可以这么说,这种操行,注定 Rust 永远也成为不了主流的大众的编程语言
    当个人玩具玩玩还行,不建议团队试用,所以趁早放弃学习这门语言
    Kumo31
        75
    Kumo31  
       123 天前
    @xue777hua 写过 Rust 就知道,nightly 才是真正能用的,Databend, TiKV, RisingWave... 这些大规模生产使用的项目都是要 nightly toolchain 编译的,我反而找不到几个不用 nightly 的非玩具项目
    sampeng
        76
    sampeng  
       123 天前
    而且我一直很奇怪。。。rust 有 ai 的加持。。。没啥难的啊。。。写业务和 go ,java 比起来爽的飞起。。所有权就更不是事了。java 你都不管内存。你都不管装箱拆箱。。rust 也不管呗,无脑 clone 和复制。
    Kumo31
        77
    Kumo31  
       123 天前   ❤️ 1
    @imes 生态不够成熟,语言本身也在快速发展,经常有新特性和新设计模式冒出来,所以被 Rust“重写一切”的也包括这些库自身
    bequt
        78
    bequt  
       123 天前
    看了 go 和 rust ,确实不得不佩服 go 创始人 Kenneth Lane Thompson 。
    几年前有个 vlang ,不知道现在发展到如何水准了。
    smallboy19991231
        79
    smallboy19991231  
       123 天前
    @imes “谷歌的 carbon 上位都比 Rust 的概率大。”
    這個難說,除了剛推出時,這個語言基本沒看到了
    MrKrabs
        80
    MrKrabs  
       123 天前
    宁愿信 zig ,zig+c 突出一个润物细无声
    BigDogWang
        81
    BigDogWang  
       123 天前
    不是说 windows 在用 rust 重写整个内核吗
    ly841000
        82
    ly841000  
       123 天前
    @BigDogWang #81 就扯淡,只试验性的重写了极少一小部分代码,1W 来行
    shui14
        83
    shui14  
       123 天前
    go 主要靠行业型公司带着,比如网络通信那些,至于拿它写业务,属于 java 、csharp 的兄弟
    同样去看 rust ,它的优势是与 c 看齐,同时又没有包袱,至少目前在硬件嵌入式和胶水可以期待,同样作为发展趋势中找一个支点,go 的支点让它在云上发光发热。我目前看到的有,去年 webgpu 发布正式版,这是一个重大利好,不要看它带一个 web ,它可以跑在桌面和移动端,它的实现主要是 wgpu 这是 rust ,另一个 dawn 是 c 。除了直接利好 web ,其他平台一同受益,说到 web ,我一直好奇国内这些卷毛厂现在连前端岗位都要求 rust 并不少,我知道它们乱抄 JD ,但是一直一来我有一个疑问,为什么都把注意力集中在前端编译器,编译器这种基础工具需要开放的组织去协调,需要庞大的资源持续投入,就国内这尿性谁也不服谁,谁愿意让步兼容,n 个小程序 n 套标准。持续投入也是伪命题,大部分人职业生涯没那么长,其次撑十年都算稳定公司了,怎么保证这个环境。
    前端目前有一个利好,wasm ,同样不要看到带个 web 就激动,它套壳可以跑在其他环境,相当于一个超进化版的 serverless 或者 edge function 结合体,苗头有 wasmedge 和 docker 那些,但是目前还不够彻底,你可以理解成 cdn 是处理静态资源,那么我可不可以分发逻辑单元?
    主流语言都可以 wasm ,但目前 rust 可以矮子里挑大头,这比什么编译器靠谱多了,主要是心态浮躁和软件工程师水平参差不齐,被前几年行业搞坏了环境
    mightybruce
        84
    mightybruce  
       123 天前
    @shui14 wasmedge 也只是一种 wasm 运行时,wasm 这部分其实就是后端开发,调用沙箱中封装的操作系统接口来达到类似 docker 。
    这个边缘智能有一些公司在做,毕竟边缘计算 能比容器省下不少资源, 因此还出现了 wasmcloud 和 krustlet 这些项目
    mightybruce
        85
    mightybruce  
       123 天前
    另外现在各种 API 网关插件开始支持 wasm, 比如 envoy, apisix 。
    mightybruce
        86
    mightybruce  
       123 天前
    rust 在嵌入式和硬件方面肯定是不如 C 的,和 C++ 还可以对比对比,
    rust 的 ffi 支持完全不如 C , 另外由于 C 的高效和简单,汇编和 C 是可以相互切换的,而 rust 和 c++ 加了太多编译器生成的东西,另外 要明白在裸硬件上操作就是不安全的
    汇编代码改成 C, 或者是优化 C 生成的汇编是比较容易的, 这点 C++ 和 Rust 都不行。
    zjsxwc
        87
    zjsxwc  
       123 天前 via Android
    用 rust 做的最成功的知名的工具型软件,大概就是 figma ,浏览器里调用 webgl ,让网页应用在性能上不输原生工具 sketch ,最终把 sketch 淘汰。
    kebamt
        88
    kebamt  
       123 天前 via iPad
    @LiuJiang PHP 不是早死了吗?( doge
    Leviathann
        89
    Leviathann  
       122 天前
    windows android linux 哪个没用 rust
    ns09005264
        90
    ns09005264  
       122 天前
    感觉 rust 的前景在往好的方向发展啊。
    比如代码编辑器就有 helix, zed ,速度与开箱即用都不错。
    比如 ui ,出了几个多平台的原生 ui 框架,iced, zed 的 gpui
    比如游戏引擎 bevy
    这些都是刚出来的新事物,确实都不太成熟,但正在稳步发展中。
    说起来我上面提到的似乎都在 c++拿手的领域里。
    iceheart
        91
    iceheart  
       122 天前 via Android
    rust 特色不明显。
    相对而言,go 上手极其容易, 新手友好。
    go 有栈协程,写业务一个函数撸到头,写代码读代码心智负担都不高。
    相对于有 gc 的其他语言,部署也简单,内存占用低。

    所以,后端有什么理由放弃方便的 go 使用 rust.呢?

    底层系统级开发,c 和 c++各种工具。文档,框架都很成熟,老程序员基数大,有什么理由用 rust ?风险由谁承担?
    guotie
        92
    guotie  
       122 天前   ❤️ 1
    rust 最大的问题是,复杂度过高,导致开发出来的大型软件性能不行,虽然在简单测试中,rust 的性能总是名列前茅。

    典型的例子就是 bun vs deno
    nl101531
        93
    nl101531  
       122 天前 via iPhone
    桌面端呢。。。
    mosfet
        94
    mosfet  
       122 天前
    对于存量市场,除非能碾压式的提升
    不然进不去的
    lesismal
        95
    lesismal  
       122 天前
    @xliao #9 文章开篇说明作者身份 "I was a young..." , 年轻人水平不够的阶段随便搞这种重构确实容易坑, 所以他的文章不能说明 rust 不行.
    guotie
        96
    guotie  
       122 天前
    @seakingii 1.0 版本都还需要 1-2 年时间才发布,缺包少库很正常
    seakingii
        97
    seakingii  
       122 天前
    @guotie 很痛苦.尝试使用,找 http client,好像官方刚刚添加,很不完善,搜索例子文档,跑不起来!
    PTLin
        98
    PTLin  
       122 天前
    再过个五六年,rust for linux 就成熟了
    u823tg
        99
    u823tg  
       118 天前
    @guotie bun 和 deno 底层一个是 jscore 一个是 v8 没法比较
    Nugine0
        100
    Nugine0  
       107 天前 via Android
    业余时间做 Rust 开源,间接赚了几千元吧,图一乐。目前这个阶段,在国内想凭 Rust 找工作,大部分人还是省省吧,随大流挺好的。

    不过如果你认真去学 Rust ,确实可以学到不少通用的思维方式,对提升功力很有帮助,糊屎时能避开前人挖的很多坑。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:20 · PVG 23:20 · LAX 08:20 · JFK 11:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.