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

前端学习后端,语言选择

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

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

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

    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  
       131 天前
    前端的话可以试试 rust
    生态链上很多东西都可以用
    vincent321
        36
    vincent321  
       131 天前
    我很喜欢 spring boot
    Dididadada
        37
    Dididadada  
       131 天前
    正在学 rust ,顺带连 wasm 也可以搞搞
    just4id
        38
    just4id  
       131 天前 via iPhone
    Rust
    yxzblue
        39
    yxzblue  
       131 天前
    Python
    XiLingHost
        40
    XiLingHost  
       131 天前
    上面推荐 rust 的,如果是出于兴趣,或者是自己的项目,rust 还是不错的,自己写起来挺舒服的。
    但是考虑到和其他人协作的话,基于流行度,还是比较推荐继续用 node 、java 、golang 这些语言。
    ponycoding3
        41
    ponycoding3  
       131 天前
    java, 跟后端交流能顺畅些
    jikeytang
        42
    jikeytang  
       131 天前   ❤️ 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  
       131 天前
    @herozzm 我觉得是需要学一门静态类型来感受宁静
    lower
        44
    lower  
       131 天前
    @shakukansp TS 不就算是有静态类型了么
    liaozzzzzz
        45
    liaozzzzzz  
       131 天前
    巧了我也是最近在学后端语言的前端, 个人选择的 golang ,主要两个原因: 1. 这个语言相对较新没那么多历史包袱,而且上手难度也相对较低; 2. golang 在前端工程化方面已经有不错的实践, 了解这门语言对个人发展是有很大好处的(esbuild, 别问为什么不去玩 rust).
    shawndev
        46
    shawndev  
       131 天前
    JavaScript 作为弱类型、动态类型、脚本语言。选一个和他不同的,同时在后端开发中是主流解决方案的。

    那就是 Java 和 Go 了,这两者中,从就业和生态考虑都优选 Java 。如果是为了快速搭建原型做 Side Project ,我认为对你而言 NodeJS > Flask(Python) > Iris(Golang)
    xboxv
        47
    xboxv  
       131 天前 via Android
    Python
    tramm
        48
    tramm  
       131 天前
    Java!Java!Java!

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

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

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