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

准备从 Go 和 Rust 二选一,求建议

  •  
  •   Kasumi20 ·
    develon2015 · 234 天前 · 8197 次点击
    这是一个创建于 234 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从代码风格来看,目前喜欢的是 Rust

    求意见和中文学籍

    第 1 条附言  ·  233 天前
    好多人说 Go 啊,不过我感觉 Rust 更像 C,Go 像 C++

    所以我还是选 Rust,无缝切换
    103 条回复    2021-04-13 20:31:39 +08:00
    1  2  
    xdeng
        1
    xdeng  
       234 天前   ❤️ 2
    小孩子才做选择
    Kasumi20
        2
    Kasumi20  
    OP
       234 天前
    @xdeng 不做选择不行啊,没那多精力学
    hahasong
        3
    hahasong  
       234 天前
    精力有限就学 go 吧 上手快 机会多
    forvtest
        4
    forvtest  
       234 天前   ❤️ 2
    我也在犹豫,目前选择是 Rust 。打算六月之前把 The Rust Programming Language 和 Rust by Example 搞完
    Co1a
        5
    Co1a  
       234 天前 via iPhone
    没有枪没有炮 全部都靠自己造,Github 似乎有相关翻译的文档 加油老哥
    cmdOptionKana
        6
    cmdOptionKana  
       234 天前   ❤️ 1
    这两个用途完全不一样啊,喜欢 Rust 随时可以当作业余爱好来学,但主攻方向就要看你想干什么了,学习目的。

    学 Go (相对来说)不用涉及太多计算机知识就能做个人项目或参加工作,而需要用到 Rust 的项目一般都需要更深入地了解操作系统和算法,精益求精的项目才会用到 Rust,不然就是杀鸡用牛刀了。
    cmdOptionKana
        7
    cmdOptionKana  
       234 天前   ❤️ 2
    因此,如果以后想用 Rust 来做事,就要有心理准备花很多时间精力去学语言之外的计算机知识。
    labulaka521
        8
    labulaka521  
       234 天前
    https://www.v2ex.com/t/770072 微软出品 都学学?
    unicloud
        9
    unicloud  
       234 天前
    小孩才做选择,大人全都要???好像哪里不对。。。
    timsensor
        10
    timsensor  
       234 天前
    当然选 Go 啦,C++还强得很,rust 应用范围跟 C++差不多
    Muninn
        11
    Muninn  
       234 天前
    只写 Web 应用就选 go, 写其他的更底层的 Rust 风头很盛。
    Muninn
        12
    Muninn  
       234 天前   ❤️ 3
    不过说是只能学一个可能不成立,学个 rust 的时间可能能学 10 个 go,50 个 python 和 node
    Clarke
        13
    Clarke  
       234 天前 via Android
    Go 吧,你都说你时间有限了
    surbomfla
        14
    surbomfla  
       234 天前
    看方向,不做系统,数据库或者需要高性能敏感的东西的话那就选 GO 吧,无需环境,单文件跨平台挺舒服的
    如果能把 rust 学下去学好,那学 GO 的话也不需要太长的时间
    zhengxiaowai
        15
    zhengxiaowai  
       234 天前
    小孩才做选择题成年人是都要!!!!

    ----

    字节跳动飞书部门了解一下,飞书应该是全国最大 Rust 产品应用,PingCAP 童鞋别打我 :-)
    domodomo
        16
    domodomo  
       234 天前
    要从事后端开发的话学 Go
    如果是出于兴趣的话,那就学 Rust,我更喜欢 Rust 的语法和设计
    xuanbg
        17
    xuanbg  
       234 天前
    小孩才做选择题成年人是都要,这话似乎说反了。。。

    成年人哪有都要的可能,能给你选择的机会就不错了。反倒是小孩子,可以说“我都要!”
    DinoStray
        18
    DinoStray  
       234 天前
    @zhengxiaowai 话说飞书那个几百兆的客户端, 啥时候能裁剪下
    beexu
        19
    beexu  
       234 天前
    初学语言建议从 Rust 开始。
    aneostart173
        20
    aneostart173  
       234 天前
    玩的话 rust,个人也喜欢 rust 的 taste 。为以后找工作就 go,嵌入式这块 c 和 c++还是主流,go 的机会比较多。
    kwanzaa
        21
    kwanzaa  
       234 天前
    马上用就 Go,慢慢学就 rust 。
    reeco
        22
    reeco  
       234 天前 via iPhone
    Rust 和 go 不是一个难度,go 1,2 天就入门了
    AmrtaShiva
        23
    AmrtaShiva  
       234 天前
    业余爱好学得 Go 感觉上手就是快 目前各种的开源库也多 rust 起点高
    ruzztok
        24
    ruzztok  
       233 天前
    GO
    des
        25
    des  
       233 天前 via iPhone   ❤️ 1
    @xuanbg
    小孩子才全都要,成年人都知道吃不消 :doge:
    raaaaaar
        26
    raaaaaar  
       233 天前 via Android
    不是根据语言选业务,而是更加业务选语言,先确定你想学什么技术再说吧。
    lululau
        27
    lululau  
       233 天前
    糊口选 Go, 兴趣选 Rust
    beidounanxizi
        28
    beidounanxizi  
       233 天前
    喷了 v2 高频帖子 有 2 种 1 apple 相关 2 学 JAVA 还是 C++还是 Go 2 要么忍要么滚
    哈哈哈 😄
    namelosw
        29
    namelosw  
       233 天前
    先 Go 再 Rust,不着急
    Huelse
        30
    Huelse  
       233 天前
    建议 Go
    westoy
        31
    westoy  
       233 天前
    两个一起吧, 和 Rust 比,Go 的学习成本可以直接忽略不计
    dawncold
        32
    dawncold  
       233 天前
    没啥建议,正好在自学 Rust,有这几个 url 可以看看:
    https://stevedonovan.github.io/rust-gentle-intro/

    官方: https://doc.rust-lang.org/stable/book/
    中文翻译: https://kaisery.github.io/trpl-zh-cn/
    dawncold
        33
    dawncold  
       233 天前
    Go 的话也许可以看看这个: https://draveness.me/golang/
    以及官方的 Go programming language
    Lemeng
        34
    Lemeng  
       233 天前
    gogogo 欧了欧了欧了
    THP301
        35
    THP301  
       233 天前
    肯定 go 啊,rust 就是靠语法糖堆起来的
    danc
        36
    danc  
       233 天前
    学 rust 吧,你学会了 rust,go 几天就能上手
    dcoder
        37
    dcoder  
       233 天前
    @Kasumi20
    "好多人说 Go 啊,不过我感觉 Rust 更像 C,Go 像 C++"
    -- 你这不是说反了么... 最多说 Go 像 C, Rust 像 C++
    Go 就是搞 Unix/C 那帮人搞的, 是放弃内存管理, 加强网路和并发的 C
    Rust 是用来代替 C++ 的, 把 C++ 很多 best practices 直接强制由 Rust compiler 保证了
    cassyfar
        38
    cassyfar  
       233 天前
    Rust 有人用吗?
    lewis89
        39
    lewis89  
       233 天前
    没有实时性需求的场景一律选带 GC 的语言,Rust 的所有权以及生命周期管理机制太麻烦了..
    lewis89
        40
    lewis89  
       233 天前
    @cassyfar #38 用还是有场景用的,吃了不少原 C++的市场份额,毕竟 C++历史槽点太多,而且所有权管理机制也保证了小白也能写出内存安全的代码出来,关键是大部分场景并没有实时性需求,除了底层的数据库 高频交易 又或者是嵌入式实时设备之类的这些场景,其余 99.9%的场景 没有实时性需求,没有实时性需求,意味着不用 GC 就是脑子有病,让猿猴去管理内存,还不如相信 GC
    LokiSharp
        41
    LokiSharp  
       233 天前 via Android
    选 rust,Go 没意义‘性能和生态都比不过 Java
    xeneizes
        42
    xeneizes  
       233 天前
    @LokiSharp 那 rust 更木有生态啊
    LokiSharp
        43
    LokiSharp  
       233 天前
    @xeneizes rust 性能比 Go 好一个数量级啊,可以和 C 媲美。而 Go 还不如直接用 Java C# Kotlin,反正性能都是接近 C++ 的水平,不如选生态更完善的。
    ericgui
        44
    ericgui  
       233 天前
    学 C++
    SWYou
        45
    SWYou  
       233 天前 via iPhone
    先研究了一遍 go,刚开始不喜欢,后来感觉还不错。后来有瞄了下 rust,又觉得 rust 好。不过学了两次次都放弃了。有点 CPP 的感觉,东西太多。目前一样犹豫要不要再试试 rust
    dbpe
        46
    dbpe  
       233 天前
    反了吧....Go 想 C Rust 想 C++
    SWYou
        47
    SWYou  
       233 天前 via iPhone
    其实有一点,说实话 go 学了一遍感觉就学了一门语言,rust 学了百分之五,感觉学到的语言外的东西就已经比 go 带来的多了。
    xieren58
        48
    xieren58  
       233 天前
    rust.
    no1xsyzy
        49
    no1xsyzy  
       233 天前
    说句,Go 更像 Python

    @xuanbg 这句话原本说的是花钱干的事儿。
    小孩有时间没钱,大人有钱没时间
    Narcissu5
        50
    Narcissu5  
       233 天前
    如果希望对职业发展有帮助的话就 Go,你去招聘网站上搜索一下就知道这两者差距有多么的大了
    zone10
        51
    zone10  
       233 天前
    当然全都要, Go 憨憨奈何好用, Rust 牛逼暂时用不上, Go 已经在微服务云计算开始发力, Rust 暂时只想到区块链. 学习 Rust 完全是兴趣使然, Go 应该能找到工作混口饭吃, 反正深入 Rust 某个特性都够学个 Go 了, 一起学又如何呢
    zjsxwc
        52
    zjsxwc  
       233 天前
    什么鬼
    ```
    我感觉 Rust 更像 C,Go 像 C++
    ```


    Rust 明明是 C++的代替品
    Go 明明是 Java 的代替品

    rahuahua
        53
    rahuahua  
       233 天前
    @LokiSharp 看市场就好,大厂用 Go 的很多啊,别误导别人了。Rust 只能用来做系统,做业务是不可能了。
    weiwenhao
        54
    weiwenhao  
       233 天前
    go 像 c
    rust 像 c++
    Kilerd
        55
    Kilerd  
       233 天前   ❤️ 1
    如果你不嫌弃资源老旧的话, 可以看看我做的 resource.rs

    (是在没空更新
    wellsc
        56
    wellsc  
       233 天前
    语言只是工具,有什么好纠结的啊,重要的是你自己想实现什么,而不是用什么
    vison09
        57
    vison09  
       233 天前
    rust 能找到工作吗
    mingsz
        58
    mingsz  
       233 天前
    go rust 还需要发展发展
    magua
        59
    magua  
       233 天前
    都选,工作用 Go,Rust 先自己玩。
    Keyes
        60
    Keyes  
       233 天前 via iPhone
    @LokiSharp 内存的事儿怎么解 [捂脸]
    avastms
        61
    avastms  
       233 天前
    劝你还是 C++吧。

    Rust 的宏大坑
    Go 直接没有宏
    xfcy
        62
    xfcy  
       233 天前
    我也建议别二选一了,都学。
    sinux
        63
    sinux  
       233 天前
    你就学就完事了
    opentrade
        64
    opentrade  
       233 天前
    从你的心,不要看别人瞎喷
    JohnSmith
        65
    JohnSmith  
       233 天前
    @avastms #61 rust 的宏哪里大坑了
    missdeer
        66
    missdeer  
       233 天前   ❤️ 1
    说反了吧,Rust 是对 C++的改良,Go 是对 C 的改良
    Chingim
        67
    Chingim  
       233 天前
    你搞反了
    rust 是 c++
    go 才是 c
    weixiangzhe
        68
    weixiangzhe  
       233 天前 via iPhone
    先学 go,先学 rust 的话 基本没有经历学 go 了
    LokiSharp
        69
    LokiSharp  
       233 天前   ❤️ 1
    @rahuahua 以找工作为目的的话我感觉除了 Java 其他语言都是垃圾。 业务直接用 Java 这种业界标准语言足够了,GC 语言性能上实际差异不大。
    而且学 Go 除了学个新的语法之外没啥作用,实际上会一两个语言的想用 Go 也是看个语法就能上手的。而学 rust 能补充点非 GC 语言的知识空白。
    A3
        70
    A3  
       233 天前 via Android   ❤️ 3
    阿里刚被罚了 182 亿,你还敢二选一
    hello2060
        71
    hello2060  
       233 天前
    不用挑,用 go 用 rust 的都能进 google, python 也行,java 也行,kotlin, c++, ruby, groovy, javascript 都行!
    stephenxiaxy
        72
    stephenxiaxy  
       233 天前
    全都要
    rahuahua
        73
    rahuahua  
       233 天前
    @LokiSharp 你认为什么并不重要,事实是字节滴滴腾讯百度都在用 Go 而, 除了业务云原生著名开源项目(docker 、k8s 、istio 、dapr....)大都是 Go 写的
    bequt
        74
    bequt  
       233 天前
    GO 其实才是大范围未来,RUST 适合极端应用或者小东西,学习曲线不一样
    roundgis
        75
    roundgis  
       233 天前 via Android
    20 年前我也糾結過類似的問題
    zhengxiaowai
        76
    zhengxiaowai  
       233 天前
    @DinoStray 常规水平吧??客户端不太懂,我看钉钉 275M 飞书 274M 企业微信 164M,企业微信功能少一些。。。
    LokiSharp
        77
    LokiSharp  
       233 天前
    @rahuahua 然而招聘依旧以 Java 为主。
    LokiSharp
        78
    LokiSharp  
       233 天前
    @rahuahua 现在的行情会 Java 这类带 GC 的转其他带 GC 的语言只有语法的区别,没什么压力。要转 C/C++ Rust 这类非 GC 语言概念上就不一样,得从头学底层。
    所以有时间的话学一个 GC 语言 一个非 GC 语言作为技术储备是最合适的。
    avastms
        79
    avastms  
       233 天前
    @JohnSmith 难理解难测试难维护, 人家宏是字符串模版,他是操作 AST,除了看起来更高大上了,其他都是缺点。
    jitongxi
        80
    jitongxi  
       233 天前
    go 主力,rust 自己的项目跑着玩。
    rust 目前国内主流不了.
    zjsxwc
        81
    zjsxwc  
       233 天前   ❤️ 1
    @avastms

    “声明宏”就是字符串模版替换啊
    “过程宏”才是修改 AST

    > `人家宏是字符串模版`
    你用“声明宏”不就好了,除非搞框架加语法才去玩“过程宏”。
    padeoe
        82
    padeoe  
       233 天前
    禁止二选一,小心罚你 182 亿[手动狗头]
    INCerry
        83
    INCerry  
       233 天前
    C++
    chiuan
        84
    chiuan  
       233 天前
    肯定 golang 库太多了而且语法严谨哇
    pythonee
        85
    pythonee  
       233 天前
    看现在 go 生态好点,你能找到别人一起讨论,打游戏还打热门游戏呢
    avastms
        86
    avastms  
       233 天前
    @zjsxwc 他俩都是 AST,都非常难以理解。

    稍微像点样的项目都会用到宏,像 Java 里面的注解,Python 的装饰器。

    而 Rust 的宏这么反人类,这就限制了它的高级应用
    DinoStray
        87
    DinoStray  
       233 天前   ❤️ 1
    @zhengxiaowai 飞书 苹果电脑客户端 857.3MB
    wellsc
        88
    wellsc  
       233 天前
    @DinoStray 不是 928 吗
    shawn102400
        89
    shawn102400  
       233 天前
    rust 吧,go 的上限太低了。
    coolmenu
        90
    coolmenu  
       233 天前
    @DinoStray 是不是包了一个 electronjs,这么大个!
    march1993
        91
    march1993  
       233 天前
    奇耻大辱。。go 明明是 C 流派,rust 才是 C++ 流派。。
    darknoll
        92
    darknoll  
       233 天前
    学 c++
    zhengxiaowai
        93
    zhengxiaowai  
       233 天前
    @DinoStray 你咋看的我官网下载的 dmg 200 多
    NealLason
        94
    NealLason  
       233 天前
    没人觉得 rust 的语法太奇葩了吗。。。
    cgpiao
        95
    cgpiao  
       233 天前 via iPhone
    看不到 rust 的未来,只要 C 的地位不动摇,Cpp 也不会动摇的。
    charlie21
        96
    charlie21  
       233 天前
    sounds like you had a choice
    DinoStray
        97
    DinoStray  
       233 天前
    @zhengxiaowai 去官网确认了下, 的确 200 多了. 我 3 月 17 日下载是 800 多, 当时在少数派上做了反馈, 应该是优化了吧
    ldimple
        98
    ldimple  
       233 天前
    不学 java 应届靠这两语言都找不到工作
    catchexception
        99
    catchexception  
       233 天前
    学 Python 啊!
    catchexception
        100
    catchexception  
       233 天前
    我倒是觉得,Rust 是 21 世纪的 C 。。。
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2639 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:52 · PVG 21:52 · LAX 05:52 · JFK 08:52
    ♥ Do have faith in what you're doing.