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

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

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

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

    C#, Java, Go, Rust?

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

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

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

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

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

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

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

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

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

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

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

    https://dotnet.microsoft.com/zh-cn/
    likunyan
        81
    likunyan  
       221 天前
    国内目前闭眼选 Java
    Adelell
        82
    Adelell  
       221 天前
    为什么不每个都试一下,喜欢哪个选哪个。
    Happy Hacking !
    gowk
        83
    gowk  
       221 天前
    Java 就两个字,庞杂。
    建议 C# Go
    gowk
        84
    gowk  
       221 天前
    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  
       221 天前
    赛博自由搏击贴
    我选 C#
    nexo
        86
    nexo  
       221 天前
    @seelight 国外是因为 C#多吗 德企这种偏工业的一般用什么
    reeco
        87
    reeco  
       221 天前 via iPhone
    都学不就行了,这几个我都会,就 rust 的泛型系统难了点,其他的都是一两天就能写东西了,没什么难的
    NizumaEiji
        88
    NizumaEiji  
       221 天前
    rust
    wzw
        89
    wzw  
       221 天前 via iPhone
    选 go 简单点
    encro
        90
    encro  
       221 天前
    直接 ts,nest 之类一把梭,我就是学了 PHP,Go,C#,Python,Rust...后,然后最终选择 ts 的。
    因为其他语言都不能前后端代码共享。
    encro
        91
    encro  
       221 天前
    学一门能干活的语言:TS
    学一门面向未来能让你把握潮流趋势的语言:Rust

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

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

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

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