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

前端学习后端,语言选择

  •  
  •   TaoLoading ·
    TaoLoading · 2022-11-21 11:38:49 +08:00 · 10534 次点击
    这是一个创建于 725 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前端一名,想要学习后端,有 node 基础(CRUD),期望从 java/python/go 中选一门进行学习,老哥们给点意见

    74 条回复    2022-11-24 20:48:15 +08:00
    yl20181003
        1
    yl20181003  
       2022-11-21 11:42:45 +08:00   ❤️ 1
    了解后端 CRUD 就 Go ,想转后端 Java > Go
    qzhai
        2
    qzhai  
       2022-11-21 11:44:39 +08:00   ❤️ 1
    我觉得 go 和 php 应该是很好入门
    waterlaw
        3
    waterlaw  
       2022-11-21 11:52:07 +08:00 via Android
    后端 java 和 go
    Dogtler
        4
    Dogtler  
       2022-11-21 11:54:03 +08:00
    个人感觉想学后端的话,还不如继续研究 node 下去。那如果想转后端的话,从云原生 看 go 或者 python 都比较不错,顺手还得会 k8s 。
    qq976739120
        5
    qq976739120  
       2022-11-21 11:56:46 +08:00   ❤️ 3
    只学 node 足够
    wakaka
        6
    wakaka  
       2022-11-21 11:57:56 +08:00
    node 足够了,go 没必要。如果要往底层,那就 C++
    rabbbit
        7
    rabbbit  
       2022-11-21 11:58:40 +08:00
    转后端 java 岗位多
    自己写后端 node 好上手
    开源项目后端 go 性能好 易部署
    Pastsong
        8
    Pastsong  
       2022-11-21 12:47:18 +08:00
    只是转后端 node 够用,Java 更偏传统后端,要云原生就上 go ,php/python/ruby 在后端市场已经没有什么新项目可以不用学了
    ajaxgoldfish
        9
    ajaxgoldfish  
       2022-11-21 12:59:04 +08:00 via Android
    JAVA ,很容易上手,成体系的资料多,解决方案也多,当然卷的也多
    qbhy
        10
    qbhy  
       2022-11-21 13:28:35 +08:00
    go
    cookgo
        11
    cookgo  
       2022-11-21 13:29:52 +08:00
    “如果你不知道该选择什么语言,那就用 Java 吧“
    fiypig
        12
    fiypig  
       2022-11-21 13:35:30 +08:00
    建议 Java
    kett
        13
    kett  
       2022-11-21 13:38:05 +08:00
    自己用就 node ,其次是 go 。
    looppppp
        14
    looppppp  
       2022-11-21 13:56:52 +08:00
    当然得是“够浪”
    stanjia
        15
    stanjia  
       2022-11-21 13:58:30 +08:00
    后端的话你应该选择 Spring ....
    XCFOX
        16
    XCFOX  
       2022-11-21 14:05:06 +08:00   ❤️ 5
    Node.js 足够了,自己玩的项目 Node.js 完全够用。要深入了解后端的话就去学 Nest.js 。
    go 的主流 web 框架基本师从 koa ,而 nest.js 师从 Java 。
    TypeScript 非常灵活、现代而且强大。写完 TypeScript 再写别的语言(尤其是 go 语言)就会很别扭。
    尤其是 ORM 这方面,TypeScript(Node.js) 的 TypeORM 、prisma 、MikroORM 比 java/python/go 的 orm 好用太多.
    ericgui
        17
    ericgui  
       2022-11-21 14:13:21 +08:00
    应该选一个静态语言
    vevlins
        18
    vevlins  
       2022-11-21 14:17:56 +08:00
    node 转 python 学不到东西。java 我不了解但总感觉有点重...
    我自己是学的 golang ,很容易上手,就是感觉工具函数不够(当然有库),另外错误处理的方式不太喜欢。
    JoeyWang321
        19
    JoeyWang321  
       2022-11-21 14:22:04 +08:00   ❤️ 2
    elixir+phoenix
    zhoupeng199
        20
    zhoupeng199  
       2022-11-21 14:23:17 +08:00
    python django 结合 djangorestframework 可以让你少写很多代码
    horou
        21
    horou  
       2022-11-21 15:26:26 +08:00
    .net 或者 Rust
    wobuhuicode
        22
    wobuhuicode  
       2022-11-21 15:30:22 +08:00
    java , node ,go
    yazinnnn
        23
    yazinnnn  
       2022-11-21 15:33:53 +08:00
    node + ts 不香吗?
    ragnaroks
        24
    ragnaroks  
       2022-11-21 15:37:34 +08:00
    这里面 3 选 1 的话无疑只能是 java ,但除此之外的世界更精彩
    WispZhan
        25
    WispZhan  
       2022-11-21 15:39:23 +08:00
    有 NodeJS 基础? 先学 Java 基础,然后用 Kotlin + Vert.x 或者 Kotlin + Ktor
    QGabriel
        26
    QGabriel  
       2022-11-21 15:55:45 +08:00
    go 开发的有几个 工资多少
    Mexion
        27
    Mexion  
       2022-11-21 15:56:07 +08:00
    写 go 不如写 node ,写 go 完全没有爽点,写 typescript 爽多了
    dqzcwxb
        28
    dqzcwxb  
       2022-11-21 15:57:18 +08:00
    作为 java 我推荐 golang,问我为什么因为大家都推荐 golang😸
    libook
        29
    libook  
       2022-11-21 15:59:20 +08:00
    看什么目的,要是个人私底下做点东西玩 Node 就足够了。
    要是想转职,你得看要投哪家公司的什么岗位,再看岗位的 JD 要求啥。
    herozzm
        30
    herozzm  
       2022-11-21 16:21:11 +08:00
    前端不可以直接用 typescript 写 node 吗?为什么还重新学?
    zzzmh
        31
    zzzmh  
       2022-11-21 16:26:26 +08:00
    node >= java > go > 其他
    ryougifujino
        32
    ryougifujino  
       2022-11-21 16:47:09 +08:00 via iPhone
    Node 做后端其实没有很多人想的那么差
    lmshl
        33
    lmshl  
       2022-11-21 17:11:49 +08:00
    我是从 node.ts 转到 Scala 的,如果想学点别的我比较建议 kotlin + ktor ,或者 rust 。
    不推荐 go 是因为如果你学得会 rust 或者 ktor(kotlin) 的话,转 go 不过是 1 周的事。但反过来却不成立
    shenjinpeng
        34
    shenjinpeng  
       2022-11-21 17:30:23 +08:00
    不好选,领域还是区别挺大的

    java 和 Python 有完整的面向对象,OOP 思想和各种设计模式还是很重要的
    Go 和 C 比较像,入门很简单,有指针的概念,有协程 写 IO 并发的应用很简单
    Go 和 JAVA 都是静态语言; Python 是动态语言 这和 js 、php 是一样的,Python 性能不如 go 和 JAVA
    Java 目前在国内如日中天,生态很多,大小公司都要,但开发者也多,竞争也大,知识体系需要的比较全;
    Go 目前用的比较多的是云计算领域,docker k8s tidb ,国内大厂用 Go 的也不少,像 B 站,腾讯这些
    Python 现在多用于大数据,AI ,科学分析这块,也有比较少的用来写接口业务的
    yhxx
        35
    yhxx  
       2022-11-21 17:36:49 +08:00
    前端的话可以试试 rust
    生态链上很多东西都可以用
    vincent321
        36
    vincent321  
       2022-11-21 18:18:19 +08:00
    我很喜欢 spring boot
    Dididadada
        37
    Dididadada  
       2022-11-21 18:58:29 +08:00
    正在学 rust ,顺带连 wasm 也可以搞搞
    just4id
        38
    just4id  
       2022-11-21 18:59:25 +08:00 via iPhone
    Rust
    yxzblue
        39
    yxzblue  
       2022-11-21 19:17:07 +08:00
    Python
    XiLingHost
        40
    XiLingHost  
       2022-11-21 19:18:20 +08:00
    上面推荐 rust 的,如果是出于兴趣,或者是自己的项目,rust 还是不错的,自己写起来挺舒服的。
    但是考虑到和其他人协作的话,基于流行度,还是比较推荐继续用 node 、java 、golang 这些语言。
    ponycoding3
        41
    ponycoding3  
       2022-11-21 19:53:09 +08:00
    java, 跟后端交流能顺畅些
    jikeytang
        42
    jikeytang  
       2022-11-21 20:07:12 +08:00   ❤️ 2
    巧了我也是一名前端,然后自学的后端。就我个人的经验分享一下:
    1. java 历史包袱太重,不符合个人简而美的编程习惯。
    2. python 这个语言习惯了缩进,也不是不行,但这个做 web 项目运行效率一直提不上来。
    3. go 这个语言,三个特点,占用内存低,运行速度快,打包方便简单,玩了 node 的打包在来看 go 的打包,两个世界,一个拖个 node_modules 到处行走的胖子,小项目只有几十 M 的二进制文件。缺点是,入门曲线略陡,但也不是不能接受,如果从前端视角来学习,那刚开始&model.User{},{}当()使,得习惯一下。我个人将 go 做为后期的主要玩转语言。
    4. node 里边现在主要使用 nestjs ,方便,简单,快捷,越开发越喜欢的感觉。缺点是,占用内存高,打包易出问题。
    https://gitee.com/jikey/elk-blog

    这是我前端视角开发的一款博客,基于 Go, Gin, Gorm, Mysql, Vue, Element, Pongo2 的个人博客
    https://gitee.com/jsfront/nest-admin-api

    这是基于 nestjs + typeorm + mysql 开发的一款 admin ,
    以上个人视角的经验,供参考。
    shakukansp
        43
    shakukansp  
       2022-11-21 20:30:40 +08:00
    @herozzm 我觉得是需要学一门静态类型来感受宁静
    lower
        44
    lower  
       2022-11-21 20:44:32 +08:00
    @shakukansp TS 不就算是有静态类型了么
    liaozzzzzz
        45
    liaozzzzzz  
       2022-11-21 20:51:04 +08:00
    巧了我也是最近在学后端语言的前端, 个人选择的 golang ,主要两个原因: 1. 这个语言相对较新没那么多历史包袱,而且上手难度也相对较低; 2. golang 在前端工程化方面已经有不错的实践, 了解这门语言对个人发展是有很大好处的(esbuild, 别问为什么不去玩 rust).
    shawndev
        46
    shawndev  
       2022-11-21 20:54:43 +08:00
    JavaScript 作为弱类型、动态类型、脚本语言。选一个和他不同的,同时在后端开发中是主流解决方案的。

    那就是 Java 和 Go 了,这两者中,从就业和生态考虑都优选 Java 。如果是为了快速搭建原型做 Side Project ,我认为对你而言 NodeJS > Flask(Python) > Iris(Golang)
    xboxv
        47
    xboxv  
       2022-11-21 21:07:46 +08:00 via Android
    Python
    tramm
        48
    tramm  
       2022-11-21 21:11:02 +08:00
    Java!Java!Java!

    轮子多
    GreatAuk
        49
    GreatAuk  
       2022-11-21 21:49:48 +08:00
    换一个语言写 crud 吗?
    shakukansp
        50
    shakukansp  
       2022-11-21 22:19:23 +08:00
    @lower 不够静
    Al0rid4l
        51
    Al0rid4l  
       2022-11-22 02:42:10 +08:00
    习惯了 Typescript 的话就首先排除 Java/Python/Go...
    然后想接触点新东西的话, JVM 上面的可以选 Kotlin/Scala
    不 care 生态的话, .Net 7 上的 C#/F#, 话说 ASP 性能还挺 NB 的
    否则还是继续 Node 吧
    xiangchen2011
        52
    xiangchen2011  
       2022-11-22 07:58:32 +08:00
    基于楼上的回复,感觉个人项目 node 足以
    Rudefish
        53
    Rudefish  
       2022-11-22 09:05:12 +08:00
    java 、go 二选一
    yekern
        54
    yekern  
       2022-11-22 09:06:17 +08:00
    node php 都可以 php 框架一抓一把
    musi
        55
    musi  
       2022-11-22 09:07:26 +08:00
    个人玩玩 node 就够了
    找工作后端还得 Java
    别搞一堆花里胡哨的最后只能写点自己的小项目
    simo
        56
    simo  
       2022-11-22 09:26:19 +08:00
    建议 java
    在非一线城市,就业面广;
    工程化程度高,对将来做大中型项目有帮助;
    业务层之下,框架层面相对标准,对学习一些程序标准化设计、提升设计思想有帮助;
    哦吼,工资容易刷高,我现在所在 n 线就业环境中,比 php 之类的工资要高一截。
    但,语言是基本的东西,认准一个(随便都行),学好一个,其他很容易上手的。
    xuanbg
        57
    xuanbg  
       2022-11-22 09:31:07 +08:00
    无论是学习还是转行,Java 都是一门好语言。
    pengjl
        58
    pengjl  
       2022-11-22 10:02:16 +08:00
    如果只是自己想学建议 Python/Go ,面向工作的话还是 java 好一点(工作岗位较多,资料体系比较容易找和完善)
    XiaoJ
        59
    XiaoJ  
       2022-11-22 10:04:14 +08:00
    我建议直接 C, 学了 C 嵌入式也可以玩, 而且对内存和指针了解有很大的好处, 其它高级语言如 JAVA, GO 等都封装了, 效率也不如 C. 面向对象的语言学一种就可以了, 写法都差不多. 另外不必纠结在语言级别, 能用来解决问题的现学现用都行.
    tt67wq
        60
    tt67wq  
       2022-11-22 10:26:33 +08:00
    @ajaxgoldfish 我自己就是后端,我感觉 Java 都很难上手。。。
    charmingYouYou
        61
    charmingYouYou  
       2022-11-22 10:31:31 +08:00
    对于前端来说, 感觉 node or rust 更好些, rust 还可以用来 wasm
    jianv3
        62
    jianv3  
       2022-11-22 10:36:22 +08:00
    简单点就学 nodejs, 进阶 学 rust, 这两门语言跟前端息息相关, 可以直接用来扩展自己的前端组件库
    uiosun
        63
    uiosun  
       2022-11-22 10:45:27 +08:00
    想学后端:Rust——语言严谨、性能卓越(现代版 C++),能帮助你最大的成长
    想转后端:NodeJS——泛用性强,而且对你来说容易转,工作 Jobs 也广阔
    zjsxwc
        64
    zjsxwc  
       2022-11-22 10:46:21 +08:00
    php 一把梭
    zzzzzzZ
        65
    zzzzzzZ  
       2022-11-22 10:54:55 +08:00
    java 是首选,go 对云原生友好那是架构师考虑的,和开发没半毛钱关系。

    不要觉得会写 go 就能跟云原生蹭上半毛钱边,会写 python 你就懂机器学习?语言就是语言,是最基础最底层的生产工具。

    想学云原生就老老实实学云原生,想学 AI 就老老实实学 AI ,学了 AI 自然就会 python
    哪有反过来的道理,劝你去学 go 然后顺道把云原生学了?
    shanghai1943
        66
    shanghai1943  
       2022-11-22 11:09:35 +08:00
    业务开发就选 Java ,网上资料多,踩坑了都能找到解决方案,而且现在有 springboot 了,项目跑起来也简单的
    Dogtler
        67
    Dogtler  
       2022-11-22 11:13:03 +08:00
    @zzzzzzZ 当然这只是 go 发展分支之一而已,因为云原生之王可真不是吹的。实际开发 Devops 这块得自己开发自己热更新部署,只会写业务代码不会玩 k8s ,工资起码给你砍半。当然要是其他分支 比如游戏 web3 ,那倒没啥可说的。
    也许看多了侃 ppt 的架构给人的错觉,开发运维 跟架构的界限定义还是有的。
    miv
        68
    miv  
       2022-11-22 12:54:42 +08:00 via Android
    当然是 Java 。
    node 都是 Java 玩剩下的,编写体验差。
    Python 搞业务来说,没有 Java 生态牛。
    go 就不用说了,基础的 orm 都不行。
    冲 Java ,Java 卷,说明人多,轮子多,不学他学谁。
    miv
        69
    miv  
       2022-11-22 12:56:06 +08:00 via Android
    除了 Java 第二选择就是 PHP ,性能优秀,成本低
    wolfie
        70
    wolfie  
       2022-11-22 12:59:49 +08:00
    学习额外技能 python 。
    转后端 Java ,go 都行。
    66beta
        71
    66beta  
       2022-11-22 13:51:02 +08:00
    找工作就 java
    玩玩就随意
    fifa899
        72
    fifa899  
       2022-11-22 17:48:54 +08:00
    轮子多方便就 java .很多开箱即用的东西
    xiaoriri666
        73
    xiaoriri666  
       2022-11-22 23:05:23 +08:00
    PHP 直接上手,简单,入门快
    veightz
        74
    veightz  
       2022-11-24 20:48:15 +08:00 via iPhone
    不想折腾环境框架的话,go 快乐一点。
    如果想长线大而全的学习后端,Java 生态完备一点,就是前期配置各种环境,spring 啊,有一定的踩坑成本。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5479 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 06:50 · PVG 14:50 · LAX 22:50 · JFK 01:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.