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

作为前端,如果需要熟悉一门后端语言辅助开发,是学 Python 还是 Java 呢

  •  
  •   onfuns · 2019-05-09 14:42:38 +08:00 · 14102 次点击
    这是一个创建于 2004 天前的主题,其中的信息可能已经有所发展或是发生改变。

    node、php 不在讨论范围

    python 主要是运维和爬虫用的多,这个前端也有需求

    java 主要是业务上与后端对接时用得上,能看懂定位对前端肯定是有好处的

    那到底哪个对前端来说优势要大一些呢

    第 1 条附言  ·  2019-05-09 15:39:32 +08:00
    -----------------

    首先感谢大家留言。

    Node 其实做为前端的后端语言入门,如果想深入,不写 C 扩展是没多大意思的,应用场景还没有 PHP 多,所以说 Node 和 PHP 不在讨论范围。

    好多同学说前端已经够学了,是的,前端要学的东西太多也比较杂。但是如果只是在前端摸索突破毕竟见识度还是不够啊,现在用 Node 或 PHP 查一下数据库,写个增删差改就美其名全栈,我觉得差的还是远。真全栈必须是前后端通吃,不仅会用还要熟悉并且往精通上走,这样才是高级程序员,才能在激烈的竞争中脱颖而出,才不会被 35 岁所限制。

    这个主题也不是引战说哪个语言好,每种语言都有它的价值。

    只是从前端的角度来说哪种优势大点,社区全栈大佬还是很多的,能给些建议,谢谢!
    第 2 条附言  ·  2019-05-10 23:59:57 +08:00
    一条一条把留言看完,再次感谢大家的指点!

    我为自己的知识浅陋道歉!对不起!

    node 确实有它的独到之处,作为后起之秀它的路还是有很长。我可能不太深入没有发现它的大价值,经过大家的指点我会再次深入学习。

    还有 go 的呼声很高,这是完全没想到的😄
    118 条回复    2022-01-19 20:35:15 +08:00
    1  2  
    chenqh
        1
    chenqh  
       2019-05-09 14:50:25 +08:00 via Android
    前端还不够你学的吗
    THESDZ
        2
    THESDZ  
       2019-05-09 14:51:11 +08:00
    我在想前后端分离到底是为了啥
    puilu
        3
    puilu  
       2019-05-09 14:53:13 +08:00
    java 吧,python 需求没那么多,招人少
    betulac
        4
    betulac  
       2019-05-09 14:56:28 +08:00
    沟通你需要了解的是后端框架,node 熟悉了基本就懂了
    s247769541
        5
    s247769541  
       2019-05-09 14:56:54 +08:00
    前端还不够你学的吗 +1
    del1214
        6
    del1214  
       2019-05-09 14:57:29 +08:00
    高级前端 node 是必修课
    shawndev
        7
    shawndev  
       2019-05-09 14:59:01 +08:00
    沟通和框架无关。知道 json,session,sql,定时任务(job)之类的概念就可以了。我习惯的做法是对照 django 或者 rails 的文档看一遍。
    wizardoz
        8
    wizardoz  
       2019-05-09 14:59:11 +08:00   ❤️ 1
    前端还不够你学的吗 +2
    onfuns
        9
    onfuns  
    OP
       2019-05-09 14:59:16 +08:00
    @chenqh 太局限前端了不好,做了前端几年了,如果想转型做管理还是产品,熟悉一门后端语言优势会很大。但是 node 总觉得不是严格意义的后端语言
    shawndev
        10
    shawndev  
       2019-05-09 15:00:36 +08:00   ❤️ 1
    沟通不是按照后端的思维去思考问题,而是站在上帝视角去权衡问题。比如,你不联表查询我就不方便做 orm,你的 errcode 定义不完善我就没办法简单的实现过滤器。类似种种,想了一下还是和框架没什么关系。
    Ambush
        11
    Ambush  
       2019-05-09 15:02:33 +08:00
    前端还不够你学的吗 + 1
    trait
        12
    trait  
       2019-05-09 15:02:35 +08:00   ❤️ 1
    @onfuns go 吧,虽然这语言是真的垃圾,但是架不住国内流行,java 学习成本高,python 已经不行了。
    onfuns
        13
    onfuns  
    OP
       2019-05-09 15:11:31 +08:00   ❤️ 1
    好多同学说前端已经够学了,是的,前端要学的东西太多也比较杂。但是如果只是在前端摸索突破毕竟见识度还是不够啊,现在用 node 或 php 查一下数据库,写个增删差改就美其名全栈,我觉得差的还是远。真全栈必须是前后端通吃,不仅会用还要熟悉并且往精通上走,这样才是高级程序员,才能在激烈的竞争中脱颖而出,才不会被 35 岁所限制。
    ryougifujino
        14
    ryougifujino  
       2019-05-09 15:13:19 +08:00
    后端语言肯定是 Java
    mamahaha
        15
    mamahaha  
       2019-05-09 15:13:45 +08:00
    太多的语言会让新手眼花,如果你是一名合格的前端,那你就不该再是新手了。你应该跳出来告诉别人该选哪个语言作为辅助,而不是向别人求助。
    GM
        16
    GM  
       2019-05-09 15:15:14 +08:00   ❤️ 1
    你需要 PHP,认真脸。
    collector
        17
    collector  
       2019-05-09 15:18:51 +08:00
    @trait python 不行了是指这门语言的需求在减少还是只是 web 这一方面不行了?
    ionething
        18
    ionething  
       2019-05-09 15:25:18 +08:00   ❤️ 1
    后端主要是思想,和语言无关。Java 更偏工程化大型项目,Python 更偏灵活易用。按道理有语言基础的同学了解后端最应该是从数据库开始,然后无论 Java 还是 Python 都实现一些通用功能,这样更好。要我说,都学一下! Java 用 Spring Boot 已经够简单了,而且非常成熟了,Python 爬虫啊小功能挺方便的,以后嘛就按需使用,按需再深入了解。Go 的话不建议。
    xmge
        19
    xmge  
       2019-05-09 15:28:51 +08:00   ❤️ 1
    @trait go 垃圾吗??? 我从 java 转 go 的,用 go 两年多了,感觉 go 还不错啊,而且很多大公司都在用 go 重构 java 项目. 垃圾在哪呢?有人说是它的 error 机制,我感觉这个 error 机制还好,比较面向过程而已.也是程序可靠性的体现..个人观点,go 的确没有 java 在语法上,生态上那么好.但它更适应这个时代.
    kaneg
        20
    kaneg  
       2019-05-09 15:32:07 +08:00 via iPhone
    首选 Python,除非你想做大项目。
    jowan
        21
    jowan  
       2019-05-09 15:35:18 +08:00
    @onfuns #13 Java/Python 不写 CRUD 吗 :)手动狗头
    myyou
        22
    myyou  
       2019-05-09 15:48:18 +08:00   ❤️ 1
    应该好好学 Node,ssr 也需要前端深度使用 Node 的,至于 c 那是为了开发 Node 扩展用的,即使深度使用的人也很少用到,如果为了性能优化,可以用 typescript 编译成 webassembly 做优化。
    fhsan
        23
    fhsan  
       2019-05-09 15:51:38 +08:00
    @onfuns 实在话,前端没啥积累一会一个框架一个会一个写法。
    trait
        24
    trait  
       2019-05-09 16:08:07 +08:00
    @xmge 连 go 2 都要改错误处理了还在这儿嘴硬,你们这些人看看 go blog 很难吗。简洁不是简陋
    rbe
        25
    rbe  
       2019-05-09 16:17:24 +08:00
    > 不写 C 扩展是没多大意思的,应用场景还没有 PHP 多
    楼主不妨说说你碰到什么后端开发场景需要写 C 扩展才能解决的,什么场景是 PHP 能做 Node 做不了的
    liuxey
        26
    liuxey  
       2019-05-09 16:19:45 +08:00   ❤️ 1
    按楼主的要求,必然是 Java,也别从基础开始搞,直接从 Springboot 弄起来快速搭建,然后慢慢深入。
    这叫自顶向下学习方法,需要领悟度比较高
    razertory
        27
    razertory  
       2019-05-09 16:20:50 +08:00
    Rails
    SorcererXW
        28
    SorcererXW  
       2019-05-09 16:23:07 +08:00 via Android
    别的不说,Java、Python 都是程序员必学语言。
    不过限定于后端,还是优先考虑 Java,也可以感受感受完全不同的编程体验。Python 和 node 还是有点像
    signalas1
        29
    signalas1  
       2019-05-09 16:23:41 +08:00
    @xmge 那是因为很多公司的技术栈就在 c 或者 PHP 上,或者根本就是糙猛快的动态语言
    learnshare
        30
    learnshare  
       2019-05-09 16:25:23 +08:00   ❤️ 1
    前端 -> GUI -> 图形学,也够玩几十年了
    signalas1
        31
    signalas1  
       2019-05-09 16:28:40 +08:00
    你觉得 node 在后端跟其他增删改查的几门流行语言有啥区别,难道后端技术栈在 node 上的公司很多后端需求就用不到?
    yejinmo
        32
    yejinmo  
       2019-05-09 16:36:21 +08:00   ❤️ 3
    哎。。都没人提 C#
    8a9a09dw12
        33
    8a9a09dw12  
       2019-05-09 16:40:29 +08:00
    可以试试 Python
    abbenyyy
        34
    abbenyyy  
       2019-05-09 16:47:11 +08:00
    当然是 Java 啦,现在 SpringBoot 很简单了,而且你学了 Java 就了解静态语言的魅力,了解为何大公司都用 Java
    QiaTia
        35
    QiaTia  
       2019-05-09 16:55:34 +08:00   ❤️ 1
    前端还不够你学的吗 + 2019, 前端想学后端首推 Node 和 PHP,
    面向工作 Java, 瞎折腾 Python,
    gzf6
        36
    gzf6  
       2019-05-09 16:55:49 +08:00
    可以学学 go,好上手,没 rust 那么复杂,近几年生态发展的比较好了。可以换换思路,不会局限于前端的脚本语言。
    sanqian
        37
    sanqian  
       2019-05-09 16:59:57 +08:00
    。。。前端还不够么。。。python 跟 go 吧 推荐 go 多点
    mintchiu
        38
    mintchiu  
       2019-05-09 17:03:43 +08:00
    现在学 java ?找不自在么?人那么多,封装的那么深,学的都不是语言,而是学框架了。而且还挺复杂,学不完。
    johnnyNg
        39
    johnnyNg  
       2019-05-09 17:07:07 +08:00
    可以学一下 node + ts,这应该是对你最有帮助的,万一想学其他的,可以学 go,js 是动态语言,你应该尝试一下静态语言,所以 python 不考虑,Java 实在太繁琐,所以选 go
    nine
        40
    nine  
       2019-05-09 17:10:46 +08:00
    Ruby
    raincode
        41
    raincode  
       2019-05-09 17:37:54 +08:00
    主前端,辅助 python,基本覆盖 99%的日常使用场景了,除了你真的不相干前端转后端,那就去学 java 吧,不过根据一个人的精力是有限的,和市场供需关系来看,python 无疑是个最优选择
    love
        42
    love  
       2019-05-09 18:21:04 +08:00
    写后端 node + typescript 秒杀 python
    Chingim
        43
    Chingim  
       2019-05-09 20:40:49 +08:00 via Android
    应该掌握一门动态语言,一门静态强类型语言。
    dosmlp
        44
    dosmlp  
       2019-05-09 20:49:55 +08:00
    之前写 C 艹,现在兼写 Java,所以我推荐学 node,python 就算了
    oatw
        45
    oatw  
       2019-05-09 20:52:13 +08:00 via Android
    Rails +1
    jon
        46
    jon  
       2019-05-09 22:02:50 +08:00
    当然是学世界上最好的语言啊
    zgl263885
        47
    zgl263885  
       2019-05-09 22:28:58 +08:00 via iPhone
    别人碗里的真香?
    ben1024
        48
    ben1024  
       2019-05-09 22:29:25 +08:00
    PHP 做错了什么
    huangama
        49
    huangama  
       2019-05-09 22:39:18 +08:00 via iPhone
    java
    version
        50
    version  
       2019-05-09 23:41:46 +08:00   ❤️ 1
    全栈的路子要主后端再转前端学习
    前端转后端.其实走错路的了.
    py 和 java 要达到能上岗.其实很难的.工作也难找.
    如果你当了前端管理.半桶水后端语言技术和后端怂.你会崩的.
    前端还是很多东西..样式.兼容性.页面性能.seo.用户活跃度以及运营..gui.这些都和前端相关.等你有一个好的前端项目或者比较大型的网站上线的..才能在管理上压的了下属.而不要在广度上延伸.
    如何压缩成本..搭建框架给下属..毕业生都能入手快.迭代快.处理 bug 快.解决下属加班的压力.
    这些都是管理要考虑的.如果下属都划水了怎么办..强制 996 也不是办法.老板又给压力.要上线.
    johnsonshu
        51
    johnsonshu  
       2019-05-09 23:44:04 +08:00
    python 方便。java 每次编译,烦死了。
    xiangyuecn
        52
    xiangyuecn  
       2019-05-10 00:09:53 +08:00
    想起搞 apijson 的那哥们,隔三差五就在 v2 上置顶帖子(反正看起来蛮活跃的)。前端能干的活还是蛮多的嘛,包括砸后端饭碗。

    感觉上现在浏览器上能用的功能所涉及到的技术点已经涵盖了 > 基础的后端能力。浏览器也提供了数据库,如果前端想用,增删改查啥还是要学的,还是熟悉的 SQL 味道。

    没错,此处件的基础的后端能力就是:堆砌语法+CURD。学会一种语言下的 curd,其他语言下基本照搬。因此前端多学点,在随便学点新语言的语法,说不定比一般人还吊一些。

    最后:php 语法比 python 还丑,都不想学。还是 java 写法比较符合前端口味。当然想速成还是 python 吧,java 学一礼拜估计也难看到实用的效果。
    yifeng1212
        53
    yifeng1212  
       2019-05-10 00:22:00 +08:00 via Android
    @fhsan 是的,某些方面来说的确有点浮躁,不过这也是社区还在发展的表现,还没有一个大一统的方案
    oukichi
        54
    oukichi  
       2019-05-10 00:26:57 +08:00
    c# 真的。谁用谁知道。舒服。
    autogen
        55
    autogen  
       2019-05-10 01:31:36 +08:00
    python 学一个月,java 学一年,你自己选
    devtiange
        56
    devtiange  
       2019-05-10 04:30:25 +08:00
    楼主看不起 node, 却在考虑 python. 不知道怎么应对楼主了.
    q8164305
        57
    q8164305  
       2019-05-10 07:01:34 +08:00 via Android
    前端也在学 java,真香,有空一起研究
    wozhizui
        58
    wozhizui  
       2019-05-10 07:44:07 +08:00
    肯定是 java
    ArcherD
        59
    ArcherD  
       2019-05-10 07:57:11 +08:00 via Android
    reasonml 前后端通吃,通过 bucklescript 从 reason-react 过渡,js 也不算白学
    newmind
        60
    newmind  
       2019-05-10 08:02:42 +08:00 via Android
    建议 node,理清后端的思想
    newmind
        61
    newmind  
       2019-05-10 08:03:36 +08:00 via Android
    语言层面无门槛,入门相对简单
    atonku
        62
    atonku  
       2019-05-10 08:30:10 +08:00
    c++
    polebug
        63
    polebug  
       2019-05-10 08:30:21 +08:00 via Android
    选 java,Python 写的比较魔幻不容易看明白
    NicholasK
        64
    NicholasK  
       2019-05-10 08:45:56 +08:00
    python 入门比较友好,而 java 比较重,学习成本高
    code9999
        65
    code9999  
       2019-05-10 08:45:59 +08:00
    前端应该会 java 吧,学 python
    xianxiaobo
        66
    xianxiaobo  
       2019-05-10 08:49:19 +08:00
    java 吧,或者 go
    luozic
        67
    luozic  
       2019-05-10 08:53:05 +08:00 via iPhone
    Java rust c# 不过实际快速上手还是 python
    littlebaozi
        68
    littlebaozi  
       2019-05-10 09:02:17 +08:00
    现在前端的招聘要求很多有至少熟悉一门后端语言。
    pryhub
        69
    pryhub  
       2019-05-10 09:02:37 +08:00 via iPhone
    java 选手告诉你,要学的东西也很多
    Edwards
        70
    Edwards  
       2019-05-10 09:06:29 +08:00
    建议 node,毕竟 js 一统天下,还熟悉。
    ipwx
        71
    ipwx  
       2019-05-10 09:10:31 +08:00
    为啥楼上一堆无脑 Java 的。。。

    前段想要一个语言辅助后端,首选不是 Node 嘛?不考虑 JS,Java 和 Python 里面选一个,当然是 Python 拉。

    Python + Flask,一小时上手。反正又不要做生产环境运行的正式后端。
    ipwx
        72
    ipwx  
       2019-05-10 09:11:37 +08:00
    千万别选 Django,只是为了配合 JS 前端的话,那东西太笨重。
    sufaith
        73
    sufaith  
       2019-05-10 09:12:01 +08:00
    人生苦短,快用 python
    keepeye
        74
    keepeye  
       2019-05-10 09:13:53 +08:00
    node 无法满足你?我不信,python php node 都是脚本语言,都差不多,是你不会用罢了。也许你需要学 go ? java 就算了
    pytth
        75
    pytth  
       2019-05-10 09:17:24 +08:00 via iPhone
    php 挺好的,一直都在用。
    gimp
        76
    gimp  
       2019-05-10 09:17:50 +08:00   ❤️ 1
    如果你只是想学 Web 后端,那么 Node/Python 没太大区别,前端学习 Node.js 更容易上手

    学习 Python,数学好的往 AI 上发力,再不济你得往数据分析方向去看,web 和爬虫还是有那么点缺少追求了 (别打我

    要不就学习 Go,云时代的 C 语言,前景看好

    Java,大公司或者传统企业用的多,适合长期且需要稳定业务的产业,基础框架有了,大家在框里写模块总是差不多,人来人走对业务影响也不大,Python 能写出花来,每个 Python 程序员入职大概都有一个想要重构框架的心

    PHP 虽然不那么酷,三四线城市,PHP/Java 基本上属于垄断地位

    我看楼主先学学 Node.js 就挺好,了解下后端开发,有自己想法了再学别的也赶趟,再说 Node.js 本身也是前端的扩展技能
    lzxz1234
        77
    lzxz1234  
       2019-05-10 09:21:31 +08:00
    看你具体打算了,如果是打算近期往后端开发转,那么 java 互联网第一语言还是首选,如果只是有点服务端开发的需求需要处理,那么可以尝试下 go,部署运维简单
    William13
        78
    William13  
       2019-05-10 09:27:03 +08:00
    @fhsan 其实现在招聘前端好多都需要阅读过源代码,自己手写轮子,还要数据接口与算法的知识,,高级打杂 哈哈
    visonme
        79
    visonme  
       2019-05-10 09:30:55 +08:00
    你主要工作还是前端,而且辅助,我只能推荐你选 python 了,如果哪天你想改变注意走后端,再回来选 java 把~
    wwwyiqiao
        80
    wwwyiqiao  
       2019-05-10 09:44:31 +08:00
    既然都是前端了 为啥不用 node.js
    lepig
        81
    lepig  
       2019-05-10 09:45:56 +08:00
    不好意思 我依然要推荐 PHP
    yiyi11
        82
    yiyi11  
       2019-05-10 09:46:10 +08:00
    选 java,做真·全栈。
    whp1473
        83
    whp1473  
       2019-05-10 09:51:47 +08:00
    node 吧
    Ixizi
        84
    Ixizi  
       2019-05-10 10:03:19 +08:00
    .net core 性能出色 visual studio 牛逼 入门简单 msdn 文档齐全
    TommyLemon
        85
    TommyLemon  
       2019-05-10 10:10:59 +08:00
    @xiangyuecn 哈哈,被你召唤出来了。
    APIJSON 提供 Java, Python, C#, PHP, Node, Go 语言版哦

    前端用这个可以快速入门后端并快速实现功能(后端提供自动化 API,不写代码也能实现 80% 的需求)


    码云最有价值开源项目:后端接口和文档自动化,前端(客户端) 定制返回 JSON 的数据和结构!
    GitHub 右上角点 Star 支持下吧 ^_^
    https://github.com/APIJSON/APIJSON
    Sapp
        86
    Sapp  
       2019-05-10 10:11:44 +08:00
    node 永远是前端应该会的第一门后端语言,node 不会前端也就是停留在中级水平了
    liujiangbei
        87
    liujiangbei  
       2019-05-10 10:19:24 +08:00
    “ Node 其实做为前端的后端语言入门,如果想深入,不写 C 扩展是没多大意思的,应用场景还没有 PHP 多,所以说 Node 和 PHP 不在讨论范围。”
    -- 不太认同楼主这个观点,哈哈
    TommyLemon
        88
    TommyLemon  
       2019-05-10 10:19:57 +08:00
    @TommyLemon Python 整体上比 Java 更接近 Node,更容易上手
    TommyLemon
        89
    TommyLemon  
       2019-05-10 10:21:35 +08:00
    @TommyLemon 看语言排行榜就知道了,Java 强势,但 Python 潜力很大的哦,
    不用太过纠结,先都大概看看基础语法,哪个简单学哪个,反正只是辅助嘛
    JackyCDK
        90
    JackyCDK  
       2019-05-10 10:24:27 +08:00
    Node.JS express 呗
    MonoLogueChi
        91
    MonoLogueChi  
       2019-05-10 11:25:13 +08:00 via Android
    首先,node 很强,一种语言能做的事,其他语言也可以做,只是实现的难以程度,运行效率不一样。就后端来说,node 比 Python 要适合。
    推荐,我推荐 .net ,生态好,写法简单,性能也不错
    janyin
        92
    janyin  
       2019-05-10 11:51:24 +08:00
    gogogo
    KuroNekoFan
        93
    KuroNekoFan  
       2019-05-10 12:04:16 +08:00 via iPhone
    @Sapp 建议你看看 react team 核心成员 dan 的 blog
    exonuclease
        94
    exonuclease  
       2019-05-10 12:25:51 +08:00 via iPhone
    如果你会写 ts 不如试试.net core
    zhixuanziben
        95
    zhixuanziben  
       2019-05-10 12:33:53 +08:00
    go 一票
    mamtou
        96
    mamtou  
       2019-05-10 12:54:06 +08:00
    当然 PHP
    luosiding
        97
    luosiding  
       2019-05-10 13:14:38 +08:00
    我推荐易语言, 更符合中国人的编程习惯
    kevin1852
        98
    kevin1852  
       2019-05-10 13:29:40 +08:00
    @onfuns #13 35 岁啥限制?明天 36 了
    kobe6666
        99
    kobe6666  
       2019-05-10 13:32:24 +08:00   ❤️ 1
    大佬从来不会纠结在选择语言上。程序员最重要的是提升你的思维方式和编程思想。
    lonelygo
        100
    lonelygo  
       2019-05-10 13:45:54 +08:00
    C#
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2550 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:38 · PVG 23:38 · LAX 08:38 · JFK 11:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.