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

后端语言选哪个: C#, Java , Go, Rust?

  •  
  •   Angela2022 · 2022-10-29 10:38:34 +08:00 · 14160 次点击
    这是一个创建于 631 天前的主题,其中的信息可能已经有所发展或是发生改变。

    会 nodejs, 但想多学一门后端语言, 请问下列哪个在今后的 10 年~20 年最有钱景?

    C#, Java, Go, Rust?

    第 1 条附言  ·  2022-10-29 12:19:33 +08:00
    如果今后决定在国外发展, 哪种后端语言对个人职业发展比较有优势?
    105 条回复    2022-12-10 11:56:16 +08:00
    1  2  
    jones2000
        1
    jones2000  
       2022-10-29 10:41:54 +08:00   ❤️ 1
    c++/c
    to2false
        2
    to2false  
       2022-10-29 10:51:16 +08:00   ❤️ 1
    go/rust
    ajaxgoldfish
        3
    ajaxgoldfish  
       2022-10-29 10:56:08 +08:00 via Android
    c++/c
    yolee599
        4
    yolee599  
       2022-10-29 10:56:20 +08:00 via Android   ❤️ 1
    rust 吧,Linux 内核已经集成 rust 了
    pengtdyd
        5
    pengtdyd  
       2022-10-29 10:56:23 +08:00
    在国内技术没有钱景,业务才有钱景
    ClericPy
        6
    ClericPy  
       2022-10-29 10:59:32 +08:00
    除了 Java 别的生态都还没一统江湖吧, 找工作岗位数量似乎也吊打其他后端语言. node 写后端不好使么, 现在挺多公司选型开始一把梭了, 而且也有 Serverless(当年被炒成大杀器, 还是看实际情况)

    golang 岗位工资是挺高, 不过得进大厂才有机会, 小厂的话生态不足时候自研能力会扛不住

    问的也太笼统了, 啥都不说就后端, 十年也太长了, 未来几年云原生要么 "我花开后百花杀", 要么又被新技术替代掉, 程序员寿命很短(五六年要么变工程师要么转行了, 谁还纠结语言), 只争朝夕
    edis0n0
        7
    edis0n0  
       2022-10-29 11:03:45 +08:00   ❤️ 9
    说 rust 的 100%没用它写过大 web 项目 纯粹只听别人瞎吹,很多必要的库 1.0 版都发不出来,各种小问题需要自己翻源码解决

    用它写个底层的 http 服务端之类倒不错
    IvanLi127
        8
    IvanLi127  
       2022-10-29 11:09:32 +08:00 via Android
    我猜 Go ,虽然我很喜欢 Rust ,但是 Rust....路漫漫
    ericguo
        9
    ericguo  
       2022-10-29 11:10:29 +08:00   ❤️ 1
    singerll
        10
    singerll  
       2022-10-29 11:15:29 +08:00
    想赚钱还是 java ,最多加个 go
    sinnosong1
        11
    sinnosong1  
       2022-10-29 11:16:00 +08:00   ❤️ 1
    就 C#和 Java 里面选一个就行了,真干活还是这两个。
    nicegoing
        12
    nicegoing  
       2022-10-29 11:19:29 +08:00
    还用想,学 Java 吧。其他语言生态都不如 Java 。像当初 Ruby php 一阵风,那就哭了。
    Java 语法不喜欢,可以写 Kotlin ,语法非常舒服,很多写法和 TypeScript 类似。
    waltcow
        13
    waltcow  
       2022-10-29 11:25:33 +08:00
    golang
    ration
        14
    ration  
       2022-10-29 11:29:31 +08:00 via Android
    那就先学下 java 吧,要以实际为主,用到什么学什么。我比较推崇终身学习的观点
    wonderfulcxm
        15
    wonderfulcxm  
       2022-10-29 11:38:21 +08:00 via iPhone
    rust ,在国外老火了。面向润编程的话很有必要
    fairless
        16
    fairless  
       2022-10-29 11:42:25 +08:00
    提高自身的选择:c/c++
    平替的选择:go
    吃饭选择:Java
    不要选择:rust
    wdwwtzy
        17
    wdwwtzy  
       2022-10-29 11:43:35 +08:00
    你都看看啊,自己选
    dcsuibian
        18
    dcsuibian  
       2022-10-29 11:45:05 +08:00
    学 Java 啊,生态最好,工具最全,岗位最多。
    lairdnote
        19
    lairdnote  
       2022-10-29 12:09:19 +08:00
    rust
    a33291
        20
    a33291  
       2022-10-29 12:11:03 +08:00   ❤️ 2
    个人看法,还是根据目的和方向选择

    编码体验或垂直行业:C#
    Web 或 Android:Java 、Go

    Rust 不了解,自己用来写过几个小工具,主要目的是学习他的新概念:所有权
    cmdOptionKana
        21
    cmdOptionKana  
       2022-10-29 12:14:28 +08:00
    国内首先排除 C#
    然后你既然问这个问题,可见不太热爱技术,也没必要硬磕 Rust 了,这个偏向底层,不适合心态浮躁的人,因此排除 Rust 。
    Go 和 Java 就不容易预测了,感觉钱景差别不大。
    mainjzb
        22
    mainjzb  
       2022-10-29 12:21:03 +08:00   ❤️ 2
    排除 rust 剩下的挑个喜欢的
    prayx
        23
    prayx  
       2022-10-29 12:24:16 +08:00
    会 node.js 可以先学 nest.js ,之后在学 java spring 那一套就是相当得心应手了。
    Akitora
        24
    Akitora  
       2022-10-29 12:25:38 +08:00
    kotlin
    yl20181003
        25
    yl20181003  
       2022-10-29 12:28:16 +08:00 via Android
    国内目前闭眼选 Java
    sunhelter
        26
    sunhelter  
       2022-10-29 12:30:43 +08:00   ❤️ 7
    挺感谢那些坚定不推荐 C#的人,让我保留了上海的薪资回到老家远程办公,太爽了
    yin1999
        27
    yin1999  
       2022-10-29 12:39:10 +08:00
    rust 自己玩玩挺好的,但做项目感觉生态真的不太行,就很多云厂商的 SDK 都得自己去写一遍,多痛苦。
    no13bus
        28
    no13bus  
       2022-10-29 13:10:08 +08:00
    typescript/javascript 前后端通吃。国外其实喜欢用这个。当然 Java 也是个很好的选择
    AmosAlbert
        29
    AmosAlbert  
       2022-10-29 13:28:37 +08:00
    @sunhelter 羡慕啊,前辈
    e7
        30
    e7  
       2022-10-29 13:44:49 +08:00
    op 问的是后端,java 首选,golang 其次
    Soar360
        31
    Soar360  
       2022-10-29 13:50:21 +08:00   ❤️ 4
    C#
    luzemin
        32
    luzemin  
       2022-10-29 13:54:51 +08:00
    Java>Go>C#>Rust
    nexo
        33
    nexo  
       2022-10-29 14:10:37 +08:00
    @e7 国外也是吗
    janxin
        34
    janxin  
       2022-10-29 14:22:06 +08:00
    Java ,世界上最好的语言 :)
    byboy
        35
    byboy  
       2022-10-29 14:23:48 +08:00
    国内的情况,目前来看还是 java 吧
    wdwwtzy
        36
    wdwwtzy  
       2022-10-29 14:31:38 +08:00
    @sunhelter 老铁,还要人吗,带带老哥
    liuxu
        37
    liuxu  
       2022-10-29 15:19:43 +08:00
    找个稳定工作就 java ,golang

    但是我用 rust web 框架在 1c1g 的服务器上做 CURD 的接口(模拟 CMS 类应用),读写都实现了 10k qps

    golang 也起码也得 2C4G ,java 就更不用说了
    huihuiHK
        38
    huihuiHK  
       2022-10-29 15:21:08 +08:00
    赚钱 Java 爱好 Rust
    joApioVVx4M4X6Rf
        39
    joApioVVx4M4X6Rf  
       2022-10-29 15:56:47 +08:00
    Python !
    v1200347
        40
    v1200347  
       2022-10-29 16:13:53 +08:00
    个人项目用 c# 工作我随意 java go 都行
    大环境如此 c#即便在 debian benchmark 上仅次于 c/c++ rust 的性能测试 techempower 上前十的 web 框架性能 但国内无人晓 没人用啊 你得为生计
    属于是那些是工作 c#是生活
    v1200347
        41
    v1200347  
       2022-10-29 16:17:14 +08:00
    GTim
        42
    GTim  
       2022-10-29 16:24:32 +08:00   ❤️ 2
    @v1200347 用 c# 现在是铁饭碗了,传统企业和芯片行业几乎都是 c# 天下
    SekiBetu
        43
    SekiBetu  
       2022-10-29 16:34:05 +08:00
    首先排除 rust ,开发简单就用 Java ,创业可以尝试用 golang
    csfreshman
        44
    csfreshman  
       2022-10-29 17:15:32 +08:00
    C/C++吧,永远不会淘汰的语言,后面学了以后再学点别的
    janus77
        45
    janus77  
       2022-10-29 17:23:21 +08:00
    以 10 年来看,你完全可以在途中换语言啊,所以只需要考虑当下 3-5 年就可以了,直接 java 没错的
    jatshw
        46
    jatshw  
       2022-10-29 17:27:32 +08:00
    java & go
    aoeui
        47
    aoeui  
       2022-10-29 17:32:58 +08:00 via Android
    @GTim 芯片也能用 C#?是配套软件吗?
    kenvix
        48
    kenvix  
       2022-10-29 17:33:36 +08:00
    Java 系框架、库和资料都多,然后再使用 Kotlin 语言即可
    klo424
        49
    klo424  
       2022-10-29 17:33:57 +08:00
    Java ,千万别选 C#抢我饭碗!
    idragonet
        50
    idragonet  
       2022-10-29 17:37:01 +08:00
    当然是 JAVA....
    haolongsun
        51
    haolongsun  
       2022-10-29 17:37:13 +08:00
    排除 rust 其他随便选 后端 rust 就和 c/c++一样 虽然现在也有比较优秀的 web 框架 actix 和 axum,但这些非常简陋,并且写的时候也很麻烦,因为无 GC ,就注定了是小众使用开发 web 。
    但是要是从事系统编程,不学 rust 就说不过去了,至少也要了解体验一下,毕竟都进入 linux 内核了,反正系统编程非常爽。
    wangritian
        52
    wangritian  
       2022-10-29 17:38:30 +08:00
    业务系统 java ,中间件 go ,话说曾经最好的语言已经没有提名了吗
    james2013
        53
    james2013  
       2022-10-29 17:42:17 +08:00 via Android
    java
    tt67wq
        54
    tt67wq  
       2022-10-29 17:53:57 +08:00
    如果你说的后端指的 crud ,那没 rust 啥事
    beyondex
        55
    beyondex  
       2022-10-29 18:22:40 +08:00 via Android
    C# 和 Java 里面选一个,C# 开发速度快,运行速度很快,常规轮子该有的都有,国内程序员数量没 Java 多。
    Java 轮子最多,程序员数量最多。
    deesan
        56
    deesan  
       2022-10-29 18:22:55 +08:00
    如果问的是今后的 10 年~ 20 年最有钱景,那肯定是 Rust, Rust 的定位是成为替代 C/C++ 的系统底层开发语言,也就是说整个世界都在被 Rust 重写,现在学能还能赶上早班车,10 年后你就是 Rust 大佬,而且,底层开发和写业务相比的话是越老越吃香的
    beyondex
        57
    beyondex  
       2022-10-29 18:24:10 +08:00 via Android
    最后建议 Java 别抢我饭碗 哈哈哈。
    IDghyg5839
        58
    IDghyg5839  
       2022-10-29 18:46:18 +08:00
    c++/c
    zggsong
        59
    zggsong  
       2022-10-29 18:55:07 +08:00
    我只能说 C# 肯定有晚饭吃 香不香就不好说了
    dongfang
        60
    dongfang  
       2022-10-29 19:58:34 +08:00
    除了 rust 都可以。
    rust 语言本身不做评价,但是商业化已经没有希望了。
    [找工作] 不等于 [培养兴趣爱好]
    weeevv
        61
    weeevv  
       2022-10-29 20:01:43 +08:00
    有少量 c++/c#经验。
    之前用 python fastapi/sqlalchemy 做机器学习平台后端,一年后屎山堆不下了,切换到 rust 。
    年初开始学 rust, 六月开始用 rust 开发,用 rocket/sqlx 到现在感觉相当好,
    写惯了 python 之后再写 rust 感觉真香,尤其是异常处理和代码风格上。
    不过我们是自用内部系统,项目规模不大。

    目前唯一的问题是部分专业软件 rust 没有相应库,主要通过 pyo3 调用 python 解决。
    signalas1
        62
    signalas1  
       2022-10-29 20:03:06 +08:00
    今后决定在国外发展, java 、.Net 对个人职业发展比较有优势
    weeevv
        63
    weeevv  
       2022-10-29 20:05:22 +08:00
    @weeevv 不过考虑后端 /钱景的话,还是 java 或 go 吧,至少当下是这样 。
    seelight
        64
    seelight  
       2022-10-29 20:19:48 +08:00
    @aoeui 是的, 就是所谓的上位机
    seelight
        65
    seelight  
       2022-10-29 20:21:16 +08:00
    考虑国外真的建议 dotnet(c#), 建议再学习一下 typescript(语法和特性传承自 c#)做全栈.
    jiezhi
        66
    jiezhi  
       2022-10-29 20:25:42 +08:00
    搞得我想再去学一下 C#了
    Macolor21
        67
    Macolor21  
       2022-10-29 21:03:39 +08:00
    @yolee599 #4 原来 C 是后端语言是吧?
    bkchan
        68
    bkchan  
       2022-10-29 21:06:53 +08:00
    PHP 是世界上最好的语言!
    mokiki
        69
    mokiki  
       2022-10-29 21:23:39 +08:00
    erlang 和 rust
    wangsongyan
        70
    wangsongyan  
       2022-10-29 21:27:21 +08:00 via iPhone
    一人血书 rust
    hysjw
        71
    hysjw  
       2022-10-29 22:12:32 +08:00
    python c++ rust 各有各的优势 在某些领域无法被替代 前景也相对久远
    mooyo
        72
    mooyo  
       2022-10-29 22:18:31 +08:00
    选 go
    amirobotics
        73
    amirobotics  
       2022-10-29 22:19:33 +08:00
    你看看哪个可以提高你的效率,你就用哪个。C# JAVA GO 都很棒
    longline
        74
    longline  
       2022-10-29 22:21:33 +08:00
    @sunhelter 求老哥给指条路,同 C#
    miyuki
        75
    miyuki  
       2022-10-29 22:31:04 +08:00 via iPhone
    用 rust 写 web 不觉得痛苦吗

    用它写底层点的倒是不错
    roundgis
        76
    roundgis  
       2022-10-29 22:36:45 +08:00 via Android
    @GTim 芯片行業用 c#都做些什麼?
    ijrou
        77
    ijrou  
       2022-10-29 22:41:00 +08:00
    第一个先排除 C#,因为就业问题
    然后其他三项都需要学,别问为啥,,,,
    Java 吃饭、机会也多,学习资料看都看不过来,只要你想,分分钟都能成为大神,而且有国内大厂背书!!!
    Java 高级部分离不开微服务,Go 正好填补了 Java 在性能上的缺陷,也非常适合作为微服务的一部分,是必学的一个语言;
    Rust 同样和 Go 一样有着不错的性能上的优势,多一个这一方面的延伸,在简历上很是锦上添花;

    而 C#嘛,,,你靠这个吃饭的话,机会少,资料少,出问题找也很头疼,开源项目更少,社区库是真的那啥,也就性能上超过 java ,有微软背书,做出来的文档超级生涩,中文大部分都是机翻,完全不推荐这破语言。。。
    mmdsun
        78
    mmdsun  
       2022-10-29 23:40:40 +08:00
    gejun123456
        79
    gejun123456  
       2022-10-29 23:43:33 +08:00
    java 顺便学学 kotlin
    mmdsun
        80
    mmdsun  
       2022-10-29 23:43:50 +08:00
    刚刚没打完一不小心发送了,推荐 C# \ Java . 前者有潜力,后者是因为现在生态好.

    https://dotnet.microsoft.com/zh-cn/
    likunyan
        81
    likunyan  
       2022-10-29 23:45:25 +08:00
    国内目前闭眼选 Java
    Adelell
        82
    Adelell  
       2022-10-30 00:28:56 +08:00
    为什么不每个都试一下,喜欢哪个选哪个。
    Happy Hacking !
    gowk
        83
    gowk  
       2022-10-30 00:30:08 +08:00
    Java 就两个字,庞杂。
    建议 C# Go
    gowk
        84
    gowk  
       2022-10-30 00:38:57 +08:00
    https://twitter.com/fratschin/status/1586337963243638784

    "After 20 years of Java, I switched to Go three years ago.It's not easy to make such a u-turn but I don't regrett it and absolutly love the ideas behind Go. Sometimes I'm still baffled how easy things can be in Go."
    Aloento
        85
    Aloento  
       2022-10-30 00:43:47 +08:00
    赛博自由搏击贴
    我选 C#
    nexo
        86
    nexo  
       2022-10-30 00:52:30 +08:00
    @seelight 国外是因为 C#多吗 德企这种偏工业的一般用什么
    reeco
        87
    reeco  
       2022-10-30 01:50:19 +08:00 via iPhone
    都学不就行了,这几个我都会,就 rust 的泛型系统难了点,其他的都是一两天就能写东西了,没什么难的
    NizumaEiji
        88
    NizumaEiji  
       2022-10-30 02:37:48 +08:00
    rust
    wzw
        89
    wzw  
       2022-10-30 06:45:48 +08:00 via iPhone
    选 go 简单点
    encro
        90
    encro  
       2022-10-30 09:42:11 +08:00
    直接 ts,nest 之类一把梭,我就是学了 PHP,Go,C#,Python,Rust...后,然后最终选择 ts 的。
    因为其他语言都不能前后端代码共享。
    encro
        91
    encro  
       2022-10-30 09:46:12 +08:00
    学一门能干活的语言:TS
    学一门面向未来能让你把握潮流趋势的语言:Rust

    实践告诉我学习多门语言互不冲突,反而可以集思广益,不凡都先了解试用一下。

    学一门语言不要太久,
    两周看手册,练习小项目,
    2 个月到半年就可以做一个稍微大一点项目了,
    心动不如行动,干就是了。
    zou8944
        92
    zou8944  
       2022-10-30 10:00:27 +08:00
    全都要
    blancokitsune
        93
    blancokitsune  
       2022-10-30 10:13:44 +08:00
    Node+Go ,Rust 整体生态没起来吧(未来遥遥可期),c#/c++常青树,Java 还是国内吧
    pokeyou
        94
    pokeyou  
       2022-10-30 14:30:52 +08:00
    看了一圈,竟然没人说 PHP 。 没落啊
    xboxv
        95
    xboxv  
       2022-10-30 18:13:02 +08:00
    不要去卷 Java 。Java 是大学 培养方案中的 课程, 包括 Java ,JavaEE 等内容,虽然大学不深入,但是 Java 人实在太多了。不要去搞 Java !
    seliote
        96
    seliote  
       2022-10-30 21:37:11 +08:00
    Java 不是选择,是必要条件,有兴趣的话可以在其他三个里再挑一个学
    dayeye2006199
        97
    dayeye2006199  
       2022-10-31 01:52:01 +08:00
    钱景和程序语言没关系啊。

    很多人说 go 有钱景,但是我用 go 开发增删查改 vs 用 go 给 k8s 贡献代码,这钱景和职业发展完全不是一个路数啊。
    rust 是明日之星,我用 rust 开发增删查改 vs 用 rust 开发 WASM 的高复杂浏览器端应用 vs 给 linux 写内核,这也完全不是一个赛道。

    不妨退一步,不要看具体的编程语言,而是看看想要从事的技术路线是什么好了。
    yazinnnn
        98
    yazinnnn  
       2022-10-31 08:58:20 +08:00
    首先排除 rust
    cco
        99
    cco  
       2022-10-31 10:24:47 +08:00
    Java 需求量最大,选择它完全没问题,Go 、C#、Rust 虽说也有人用,但是又有几个呢?家里有矿得,你甚至可以用 ruby ,新时代农民工就 JAVA 吧,解决温饱才是你最关心的问题,语言只是工具,就算它啰嗦,但它能给你解决温饱,就冲这一点,你首选 Java 就没错。
    aw2350
        100
    aw2350  
       2022-10-31 10:26:02 +08:00
    首先排除 c#
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 10:42 · PVG 18:42 · LAX 03:42 · JFK 06:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.