web 开发,如果要在 PHP , node.js, Python ,Go 语言选一个,那么选谁了? - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
tctc4869

web 开发,如果要在 PHP , node.js, Python ,Go 语言选一个,那么选谁了?

  •  1
     
  •   tctc4869 Jun 5, 2020 11352 views
    This topic created in 2169 days ago, the information mentioned may be changed or developed.

    做 web 开发,如果要在 php,node.js ,python,Go 语言选一个,那么选谁呢? ( c#和 java 就不考虑了)

    像我在乎的话,

    第一是生态,

    第二是开发效率,比如语法糖。例如函数式编程,不要像 java8 一样嗦,java8 的函数式编程相对 c#的委托和 js 是很嗦的,不能直接把变量当方法调用。

    第三,是开发环境是否方便安装,比如像 jdk 和.net framework,点击安装文件,点击下一步按钮,等待安装完成就可以。ide 根据可视化界面部署,创建开发项目是否方便

    第四是打包部署方便性,打包既可以用命令行,也能用 ide 方便打包项目。而部署像软件一样点击可执行文件部署,或者是把部署命令写成脚本文件与打包的文件放在一起,点击即可部署。

    Supplement 1    Jun 6, 2020
    不仅要考虑 http,还要考虑 websocket,甚至是直接基于 socket 开发的应用。不知道开发效率怎么样
    Supplement 2    Jun 6, 2020
    如果在家 Ruby 比较呢?
    87 replies    2020-06-08 09:05:27 +08:00
    sleepm
        1
    sleepm  
       Jun 5, 2020
    go
    Junjunya
        2
    Junjunya  
       Jun 5, 2020   4
    PHP 或者 go 。非要选一个的话,推荐 PHP 天下第一
    raincode
        3
    raincode  
       Jun 5, 2020   2
    nodejs
    14v45mJPBYJW8dT7
        4
    14v45mJPBYJW8dT7  
       Jun 5, 2020
    自己做东西随便选,但你列的这四个三个动态语言一个静态,肯定是静态语言好安装部署,直接可执行文件了
    hnbcinfo
        5
    hnbcinfo  
       Jun 5, 2020   5
    我大.Net Core 用起来这么爽,为什么不考虑呢。
    agdhole
        6
    agdhole  
       Jun 5, 2020
    go node
    Trim21
        7
    Trim21  
       Jun 5, 2020 via Android
    猜你用的 Windows

    后面三个都能用 scoop 安装( PHP 不了解)
    iamverylovely
        8
    iamverylovely  
       Jun 5, 2020
    asp perl
    musi
        9
    musi  
       Jun 5, 2020 via iPhone   1
    js 一把梭,不管你后端用啥前端 js 是没跑的。开发环境 vscode webstorm 看你喜欢用哪个,打包部署用 docker 问题不大
    Jacky23333
        10
    Jacky23333  
       Jun 5, 2020 via Android
    go
    namelosw
        11
    namelosw  
       Jun 5, 2020   2
    除了 PHP 都挺好
    mitu9527
        12
    mitu9527  
       Jun 5, 2020   14
    PHP 。现实就是 Web 开发服务端是 Java 和 PHP 的天下,如果不考虑 Java,那就剩 PHP 了。其他语言就算了,嚷嚷着多少年干掉 PHP 什么的,结果自己都不成气候。早有 Python,后有 NodeJS,最近又换成了 Go,结局都是一样的,再过两三年 Go 也会过了风口,你会发现 Web 开发服务端主流还是 Java 和 PHP 。
    wangyanrui
        13
    wangyanrui  
       Jun 5, 2020   1
    PHP 和 Java 活了这么多年了,为什么没有被人搞掉,值得思考呀
    starlion
        14
    starlion  
       Jun 5, 2020   2
    第一当然是 PHP,做中小项目,快速,简单。如果以后业务扩展了,一部分可以转到 golang 或者 java,如果项目能够发展起来的话。
    starlion
        15
    starlion  
       Jun 5, 2020
    如果你想学习,golang 可以看看这个学习系列: https://github.com/jiujuan/go-collection - -!, 哈哈哈!
    cmdOptionKana
        16
    cmdOptionKana  
       Jun 5, 2020   1
    小项目,这些都差不多,都能胜任,完全看个人经验和喜好。

    大项目的主语言在 Go 、c#和 java 里面选,而 php,node.js ,python 可以拿来辅助,但不能用来做主导。
    MarkLeeyun
        17
    MarkLeeyun  
       Jun 5, 2020
    @mitu9527 同意,适用领域不一样吧。。java 和 PHP 用来做 web 开发还是王者。大规模的用 java,小规模的用 php.
    black11black
        18
    black11black  
       Jun 5, 2020   2
    @mitu9527 有一说一,确实。个人计算机普及这么多年了,先是电脑,后是手机,说要干掉计算器,结果自己都不成气候,你看买菜大妈算账还是用计算器。可以得出结论计算器远优越于计算机,等过两年手机过了风口,你会发现卖菜大妈还是用计算器按账
    black11black
        19
    black11black  
       Jun 5, 2020
    另外认真评价楼主说这几点的话,关于第三四点,到都 0202 年了,你列出的所有语言都能满足。

    第一点的生态方面我以为主要是开发过程中代码复用程度的多少,而非市场占有率的多少。node 和 python 前者主要依前端程序员的生态,后者主要依赖....这个说不好,反正做什么工作或多或少都会用到点 python 就是了。go 在生态方面打输

    第二点开发效率,语言描述能力方面 python 最强,这是社区形态导致的历史遗留产物,但运行速度 python 最慢,经过适当优化后勉强摸到 node 的背后,被 go 吊着打。你怎么取舍呢?

    楼上一堆说小项目用 php 撸的,祝你们前程似锦。
    mitu9527
        20
    mitu9527  
       Jun 5, 2020   2
    @black11black 感觉你对 PHP 意见很大,是受过 PHP 的伤害么? PHP 语言和生态本身还可以,差的是圈子的整体水平,所以何来计算器一说。除了 Java 整体上还算不错,其他的那几门语言哪一门不都有自己的问题,Python 的性能问题,Js 的面向对象问题,而且 Js 后端这块自己天天都在折腾,最近不是一堆人要用 deno 换掉 node,Go 语言起步比较晚,但是生态上积累的还不够,这都是事实啊。
    NCZkevin
        21
    NCZkevin  
       Jun 5, 2020
    go 开发部署都很方便,但是生态确实一般,个人开发小项目建议 python 或者 go 吧
    q8164305
        22
    q8164305  
       Jun 5, 2020 via Android   2
    js 一把梭
    liuyibao
        23
    liuyibao  
       Jun 5, 2020   1
    @mitu9527 过来人,同意你的观点
    fangdown
        24
    fangdown  
       Jun 5, 2020   1
    推荐 nodejs,pm2 部署方便

    [深圳 /长沙] 腾讯云前端社招~~急招!!!联系我内推,微信同号
    liuyibao
        25
    liuyibao  
       Jun 5, 2020
    @black11black 你这个渣渣,没事又搞语言之争。
    QlanQ
        26
    QlanQ  
       Jun 5, 2020
    @black11black 计算器和手机的例子咋算的?功能都不一样,怎么存在谁取代谁?
    PHP 的开发效率,人员成本 还是很有优势的,不能光考虑语言的,开发成本和时间对于公司很重要

    为啥会对某一种语言意见这么大?
    ziyeziye
        27
    ziyeziye  
       Jun 5, 2020
    php, go
    iminto
        28
    iminto  
       Jun 5, 2020
    首先,排除一个最低分,PHP 出局。
    wellsc
        29
    wellsc  
       Jun 5, 2020
    js 啊,啥都能干
    xmitman
        30
    xmitman  
       Jun 5, 2020   1
    PHP 用 laravel 框架,开发效率真不是盖的
    runtu2019
        31
    runtu2019  
       Jun 5, 2020
    首先排除 php,其他优缺点还好,弱类型真的是硬伤,涉及到计算严谨的地方一堆转换变量类型代码,要不然容易出莫名其妙的问题,使用框架应该会好点。
    生态首推 java 和 php
    开发效率和打包都要的话,最符合的应该是 netcore 了,打包贼方便全平台通用,可以打成独立包执行文件,运行环境什么的根本不需要

    如果是开发 api 的话就 netcore,前端是网页的话还是 php 比较合适
    HanMeiM
        32
    HanMeiM  
       Jun 5, 2020
    觉得 PHP 弱类型是硬伤的,可以开严格模式,必须自己手动转类型,再配合上参数类型声明,能解决大部分弱类型语言的问题
    ben1024
        33
    ben1024  
       Jun 5, 2020
    推荐下 PHP,有 Composer 的管理的新版框架还是比较舒服,当前 PHP 性能还是很好的,长连接的场景弱一些。
    silov
        34
    silov  
       Jun 5, 2020
    你是选自己的学习技术栈,还是给公司做技术选型?
    Rekkles
        35
    Rekkles  
       Jun 5, 2020   1
    PHP + Laravel + Laravel-s + 数不尽的 composer === 开发周期巨短,性能也不错。
    ShundL
        36
    ShundL  
       Jun 5, 2020   1
    只要有 PHP 存在的话题,鄙视链就会开始工作,没办法,PHP 在鄙视链的底层,很 LOW 。
    但它目前的占有量还是巨大的,web 开发方面尤其是网页开发,php 应该是上手最快的,几天的学习你就能开始写东西了,虽然可能 bug 满天飞,代码如屎。
    php 的环境 win 上简单点儿直接安装个 phpstudy,自带 apache/nginx 、mysql 和 php 多个版本。linux 上安装个 lnmp 一键环境包,然后就可以撸了。
    nextvay
        37
    nextvay  
       Jun 5, 2020
    体验生活?还是生存?
    体验生活都无所谓
    生存那就不一样了
    PHP,高级工程师的话,面试几乎都是后台了且工作机会都很少
    Go,目前好多公司都转 go 了,所以我是 PHP 跟着换工作转 Go 了,开发起来比 PHP 慢一些,比 Java 更慢一些
    Java,生态很好,大公司都在用,霸主地位
    Python,生态也还好,大数据、运维用的多一些,web 开发少一些吧

    以目前的我来说,如果有 Go 给 30k,Java 给 25k 的 offer 的话,我选 Java,以后就业面更广
    pigzzz
        38
    pigzzz  
       Jun 5, 2020
    @QlanQ 因为大多数人对 php 的印象可能还停留在 php5 的年代
    rioshikelong121
        39
    rioshikelong121  
       Jun 5, 2020   2
    .NET core
    annielong
        40
    annielong  
       Jun 5, 2020
    web 开放没有 c#和 java,只能选 php,其它根本不用考虑。
    wangyzj
        41
    wangyzj  
       Jun 5, 2020
    你要看你的坐标来选择
    ztxcccc
        42
    ztxcccc  
       Jun 5, 2020
    @linxb 为什么不用 Symfony
    qq7790586
        43
    qq7790586  
       Jun 5, 2020
    看甲方,叫你用 asp 你也得用。
    lepig
        44
    lepig  
       Jun 5, 2020
    楼主前 3 点说的不就是 PHP 嘛, 老油条表示 第四点 也很 OK 哈哈哈哈
    zzzmh
        45
    zzzmh  
       Jun 5, 2020
    没有 java 猛男落泪
    herozzm
        46
    herozzm  
       Jun 5, 2020 via Android
    go 做后端 php 做前端套模板啥的
    qloog
        47
    qloog  
       Jun 5, 2020
    go 吧
    qW7bo2FbzbC0
        48
    qW7bo2FbzbC0  
       Jun 5, 2020
    小项目,python + bottle.py 尽量一个文件搞定
    ShundL
        49
    ShundL  
       Jun 5, 2020
    就非得分出个一二三来吗? 楼主你自己都去看看这几门语言的语法,自己看喜欢哪种风格就用哪种,不存在用了这种就会走上人生巅峰用了那种就会吃不上饭。

    可以都学
    helionzzz
        50
    helionzzz  
       Jun 5, 2020
    @ztxcccc 你不觉得 sy 太重了么。。
    HENQIGUAI
        51
    HENQIGUAI  
       Jun 5, 2020
    大 Java 不香么
    ztxcccc
        52
    ztxcccc  
       Jun 5, 2020
    @helionzzz laravel 底层不都是 symfony 组件吗?有什么区别
    helionzzz
        53
    helionzzz  
       Jun 5, 2020
    @ztxcccc 毕竟 laravel 帮 sy 精简了不少东西了,而且中文资料已经很丰富了。直接上 sy 学习曲线太陡了,现在好多了,sy2 的时候中文资料也就是个官方手册的部分汉译版
    ztxcccc
        54
    ztxcccc  
       Jun 5, 2020
    @helionzzz 如果用 symfony2 去看的话视角太老了,5 还是很舒服的
    wzw
        55
    wzw  
       Jun 5, 2020 via iPhone
    用了很久的 Python,但是我在用 go 了
    dongisking
        56
    dongisking  
       Jun 5, 2020
    在吃 PHP 饭,以后打算吃 GO 的饭,Java 吃不下啊(太多人吃了,想吃但是没优势)
    fiypig
        57
    fiypig  
       Jun 5, 2020
    不知道 go 跟这三比,是高兴呢 ,还是高兴呢
    Seanfuck
        58
    Seanfuck  
       Jun 5, 2020 via iPhone
    做 web 开发的话,当然选 php 。不要听上面那些语言鄙视者的话(码农思维),所有语言都是个工具,谁能简单快速完成任务谁就是最好的!
    abcbuzhiming
        59
    abcbuzhiming  
       Jun 6, 2020   1
    PHP,虽然我不喜欢这东西,但是这东西是为 web 而生的

    1.生态,PHP 就是为 web 而生的,你要说在 web 这块的生态谁能和 PHP 较劲,那就只剩下 Java,其它都一边去,对,我说的就是 nodejs,go,python,

    2.开发效率,你说的都满足,动态语言,不过你要小心重构火葬场问题

    3 和 4 就不太满足了,基本上动态语言类都不太满足楼主的这两个要求
    Roung
        60
    Roung  
       Jun 6, 2020 via Android
    短期 PHP,长期 go
    Hanggi
        61
    Hanggi  
       Jun 6, 2020
    最好是都会一点,

    go 用来写服务,nodejs 写前端和一些对性能要求不高的后端,python 作为工具语言写机器学习什么。
    cmdOptionKana
        62
    cmdOptionKana  
       Jun 6, 2020 via Android
    如果只考虑楼主列举这几点的话,Ruby 无敌。
    MrJing1992
        63
    MrJing1992  
       Jun 6, 2020
    前期,拼开发效率,认准 PHP + Laravel ;后期,拼稳定 /大规模协作,认准 Java + Spring 。
    生态很重要生态很重要生态很重要
    gejun123456
        64
    gejun123456  
       Jun 6, 2020 ia iPhone
    kotlin 啥都有 考虑下?
    oahebky
        65
    oahebky  
       Jun 6, 2020 via Android
    个人觉得基本上看你开发的是什么样的 Web

    比如说是电商类、公司网站、工具接口调用(翻译、OCR 、等等)、网页小游戏 or 在线工具(大部分能力由前端提供)、等等等

    搞清楚了这些再选工具不是更合理吗?
    duan602728596
        66
    duan602728596  
       Jun 6, 2020 via iPhone
    socket 的话直接 nodejs 吧,用 socket.io ,客户端(浏览器)内连兼容都给你搞好了
    uxff
        67
    uxff  
       Jun 6, 2020
    java 优先,从开发速度,包管理成熟度,代码规范,性能,生态,趋势及领域,就业机会,等等来说,都比其他语言有优势。
    ByteRan
        68
    ByteRan  
       Jun 6, 2020
    kotlin 啥都有 考虑下?
    uxff
        69
    uxff  
       Jun 6, 2020
    从语言设计(语法,包管理,框架成熟度)上来说,java 和 c#都是挺好的语言。
    比如包声明和管理,类声明和目录结构,等都规范性挺好。而 php 因为约束过松而被经常用坏。
    c#只是应用平台限制在 win 平台。
    SaigyoujiYuyuko
        70
    SaigyoujiYuyuko  
       Jun 6, 2020
    php + laravel + swoole / go / nodejs(没用过 打算试试看)
    silvernoo
        71
    silvernoo  
       Jun 6, 2020
    我选狗
    pkoukk
        72
    pkoukk  
       Jun 6, 2020   1
    @uxff .net core 了解一下
    jimyan
        73
    jimyan  
       Jun 6, 2020
    kotilin
    cz5424
        74
    cz5424  
       Jun 6, 2020
    帮你排除 php,node.js
    cz5424
        75
    cz5424  
       Jun 6, 2020
    排除 node.js 看这个 t/678888#reply94
    2kCS5c0b0ITXE5k2
        76
    2kCS5c0b0ITXE5k2  
       Jun 6, 2020
    考虑 websocket 那肯定排除 PHP 啊 那怕 PHP 用了 Swoole 写实现起来也很麻烦。不如用 Go 吧
    charlie21
        77
    charlie21  
       Jun 6, 2020
    @oahebky 就喜欢看这个不知道什么项目类型就开始瞎推荐技术栈的损样子
    p1gd0g
        78
    p1gd0g  
       Jun 6, 2020
    我们公司的事实就是 php 全部重构到 go 。。。
    leohxj
        79
    leohxj  
       Jun 6, 2020
    https://www.bilibili.com/video/BV1C7411F7x3?p=2
    陈皓, 就是『左耳朵耗子』,聊过技术选型,在第 22:44 开始。
    建议看看。
    xiaotianhu
        80
    xiaotianhu  
       Jun 6, 2020
    只考虑个人不考虑团队的吗
    Carlgao
        81
    Carlgao  
       Jun 6, 2020
    觉得 PHP 只能做 Web 路有点窄,所以转 Go 中!!
    MikeFeng
        82
    MikeFeng  
       Jun 6, 2020
    node>go>python>php
    jss
        83
    jss  
       Jun 7, 2020 via iPhone
    你这就像 GTR(go) 跟电动车 自行车比一样,电动车插钥匙就开动,甚至,自行车钥匙都不要,它们能一样吗?
    shellic
        84
    shellic  
       Jun 7, 2020 via Android
    web 开发除了 Java 就是 PHP,别听别人瞎 JB 吹瞎 JB 黑;架构做不好用什么语言重构都得火葬场,代码是人写的,代码屎说明人屎不是语言屎;你去招聘网站看一下就知道一群吹这个黑那个的都是搁那打嘴炮;当然你如果不用 Java 又瞧不上 PHP 那选 Go 吧,至少这两年在吹 Go,招人应该不会太难,靠不靠谱就不知道了,毕竟很多都是半瓶子水从别的语言转过去的。
    newtype0092
        85
    newtype0092  
       Jun 7, 2020
    @p1gd0g 老哥多讲讲呗,因为什么问题重构,怎么规划的,重构完解决了多少,开发人员怎么安排的等等。。。
    akagishigeru
        86
    akagishigeru  
       Jun 7, 2020 via iPhone
    PHP 。楼上很多都是扯犊子。php 写的的人写啥都是。和语言一点关系没有
    p1gd0g
        87
    p1gd0g  
       Jun 8, 2020
    @newtype0092 主要还是性能问题,我们这边两条类似的业务线,php 用的机器多一倍,还竞猜告警。
    规划就是先改一部分接口,逐步迁到 go 。目前就是 php 和 go 同时在跑着。开发要求 php 和 go 都会。
    About     Help     Advertise     Blog     API     FAQ     Solana     5839 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 234ms UTC 01:59 PVG 09:59 LAX 18:59 JFK 21:59
    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