后端语言选哪个: C#, Java , Go, Rust? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Angela2022
V2EX    程序员

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

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

    会 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
    ih8es9OIzne0959p
        3
    ih8es9OIzne0959p  
       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  
       
    在国内技术没有钱景,业务才有钱景
    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
    附上性能图贴 t/862452?p=2
    yemoluo
        42
    yemoluo  
       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++吧,永远不会淘汰的语言,后面学了以后再学点别的
    rb6221
        45
    rb6221  
       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
    wa8n
        70
    wa8n  
       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
    TDWPFk2IRMJPSRae
        73
    TDWPFk2IRMJPSRae  
       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/
    QKgf555H87Fp0cth
        81
    QKgf555H87Fp0cth  
       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     Solana     3392 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 49ms UTC 04:34 PVG 12:34 LAX 20:34 JFK 23:34
    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