做 web 开发,如果要在 php,node.js ,python,Go 语言选一个,那么选谁呢? ( c#和 java 就不考虑了)
像我在乎的话,
第一是生态,
第二是开发效率,比如语法糖。例如函数式编程,不要像 java8 一样啰嗦,java8 的函数式编程相对 c#的委托和 js 是很啰嗦的,不能直接把变量当方法调用。
第三,是开发环境是否方便安装,比如像 jdk 和.net framework,点击安装文件,点击下一步按钮,等待安装完成就可以。ide 根据可视化界面部署,创建开发项目是否方便
第四是打包部署方便性,打包既可以用命令行,也能用 ide 方便打包项目。而部署像软件一样点击可执行文件部署,或者是把部署命令写成脚本文件与打包的文件放在一起,点击即可部署。
|  |      1sleepm      2020-06-05 14:39:06 +08:00 go | 
|      2Junjunya      2020-06-05 14:41:44 +08:00  4 PHP 或者 go 。非要选一个的话,推荐 PHP 天下第一 | 
|      3raincode      2020-06-05 14:42:27 +08:00  2 nodejs | 
|      414v45mJPBYJW8dT7      2020-06-05 14:44:32 +08:00 自己做东西随便选,但你列的这四个三个动态语言一个静态,肯定是静态语言好安装部署,直接可执行文件了 | 
|  |      6agdhole      2020-06-05 14:49:34 +08:00 go node | 
|  |      7Trim21      2020-06-05 14:50:51 +08:00 via Android 猜你用的 Windows 后面三个都能用 scoop 安装( PHP 不了解) | 
|      8iamverylovely      2020-06-05 14:52:44 +08:00 asp  perl | 
|  |      9musi      2020-06-05 14:52:59 +08:00 via iPhone  1 js 一把梭,不管你后端用啥前端 js 是没跑的。开发环境 vscode webstorm 看你喜欢用哪个,打包部署用 docker 问题不大 | 
|  |      10Jacky23333      2020-06-05 14:54:16 +08:00 via Android go | 
|      11namelosw      2020-06-05 14:55:56 +08:00  2 除了 PHP 都挺好 | 
|      12mitu9527      2020-06-05 14:56:23 +08:00  14 PHP 。现实就是 Web 开发服务端是 Java 和 PHP 的天下,如果不考虑 Java,那就剩 PHP 了。其他语言就算了,嚷嚷着多少年干掉 PHP 什么的,结果自己都不成气候。早有 Python,后有 NodeJS,最近又换成了 Go,结局都是一样的,再过两三年 Go 也会过了风口,你会发现 Web 开发服务端主流还是 Java 和 PHP 。 | 
|  |      13wangyanrui      2020-06-05 14:58:28 +08:00  1 PHP 和 Java 活了这么多年了,为什么没有被人搞掉,值得思考呀 | 
|  |      14starlion      2020-06-05 14:59:26 +08:00  2 第一当然是 PHP,做中小项目,快速,简单。如果以后业务扩展了,一部分可以转到 golang 或者 java,如果项目能够发展起来的话。 | 
|  |      15starlion      2020-06-05 15:01:54 +08:00 如果你想学习,golang 可以看看这个学习系列: https://github.com/jiujuan/go-collection - -!, 哈哈哈! | 
|  |      16cmdOptionKana      2020-06-05 15:02:58 +08:00  1 小项目,这些都差不多,都能胜任,完全看个人经验和喜好。 大项目的主语言在 Go 、c#和 java 里面选,而 php,node.js ,python 可以拿来辅助,但不能用来做主导。 | 
|  |      17MarkLeeyun      2020-06-05 15:03:04 +08:00 @mitu9527 同意,适用领域不一样吧。。java 和 PHP 用来做 web 开发还是王者。大规模的用 java,小规模的用 php. | 
|  |      18black11black      2020-06-05 15:07:42 +08:00  2 @mitu9527 有一说一,确实。个人计算机普及这么多年了,先是电脑,后是手机,说要干掉计算器,结果自己都不成气候,你看买菜大妈算账还是用计算器。可以得出结论计算器远优越于计算机,等过两年手机过了风口,你会发现卖菜大妈还是用计算器按账 | 
|  |      19black11black      2020-06-05 15:15:42 +08:00 另外认真评价楼主说这几点的话,关于第三四点,到都 0202 年了,你列出的所有语言都能满足。 第一点的生态方面我以为主要是开发过程中代码复用程度的多少,而非市场占有率的多少。node 和 python 前者主要依托前端程序员的生态,后者主要依赖....这个说不好,反正做什么工作或多或少都会用到点 python 就是了。go 在生态方面打输 第二点开发效率,语言描述能力方面 python 最强,这是社区形态导致的历史遗留产物,但运行速度 python 最慢,经过适当优化后勉强摸到 node 的背后,被 go 吊着打。你怎么取舍呢? 楼上一堆说小项目用 php 撸的,祝你们前程似锦。 | 
|      20mitu9527      2020-06-05 15:17:25 +08:00  2 @black11black 感觉你对 PHP 意见很大,是受过 PHP 的伤害么? PHP 语言和生态本身还可以,差的是圈子的整体水平,所以何来计算器一说。除了 Java 整体上还算不错,其他的那几门语言哪一门不都有自己的问题,Python 的性能问题,Js 的面向对象问题,而且 Js 后端这块自己天天都在折腾,最近不是一堆人要用 deno 换掉 node,Go 语言起步比较晚,但是生态上积累的还不够,这都是事实啊。 | 
|      21NCZkevin      2020-06-05 15:17:50 +08:00 go 开发部署都很方便,但是生态确实一般,个人开发小项目建议 python 或者 go 吧 | 
|      22q8164305      2020-06-05 15:19:08 +08:00 via Android  2 js 一把梭 | 
|  |      24fangdown      2020-06-05 16:05:43 +08:00  1 推荐 nodejs,pm2 部署方便 [深圳 /长沙] 腾讯云前端社招~~急招!!!联系我内推,微信同号 | 
|      25liuyibao      2020-06-05 16:06:34 +08:00 @black11black 你这个渣渣,没事又搞语言之争。 | 
|      26QlanQ      2020-06-05 16:07:42 +08:00 @black11black 计算器和手机的例子咋算的?功能都不一样,怎么存在谁取代谁? PHP 的开发效率,人员成本 还是很有优势的,不能光考虑语言的,开发成本和时间对于公司很重要 为啥会对某一种语言意见这么大? | 
|      27ziyeziye      2020-06-05 16:08:00 +08:00 php, go | 
|  |      28iminto      2020-06-05 16:12:59 +08:00 首先,排除一个最低分,PHP 出局。 | 
|  |      29wellsc      2020-06-05 16:15:57 +08:00 js 啊,啥都能干 | 
|      30linxb      2020-06-05 16:16:22 +08:00  1 PHP 用 laravel 框架,开发效率真不是盖的 | 
|      31runtu2019      2020-06-05 16:27:49 +08:00 首先排除 php,其他优缺点还好,弱类型真的是硬伤,涉及到计算严谨的地方一堆转换变量类型代码,要不然容易出莫名其妙的问题,使用框架应该会好点。 生态首推 java 和 php 开发效率和打包都要的话,最符合的应该是 netcore 了,打包贼方便全平台通用,可以打成独立包执行文件,运行环境什么的根本不需要 如果是开发 api 的话就 netcore,前端是网页的话还是 php 比较合适 | 
|  |      32HanMeiM      2020-06-05 16:37:56 +08:00 觉得 PHP 弱类型是硬伤的,可以开严格模式,必须自己手动转类型,再配合上参数类型声明,能解决大部分弱类型语言的问题 | 
|      33ben1024      2020-06-05 16:40:13 +08:00 推荐下 PHP,有 Composer 的管理的新版框架还是比较舒服,当前 PHP 性能还是很好的,长连接的场景弱一些。 | 
|  |      34silov      2020-06-05 16:46:28 +08:00 你是选自己的学习技术栈,还是给公司做技术选型? | 
|  |      35Rekkles      2020-06-05 16:47:45 +08:00  1 PHP + Laravel + Laravel-s + 数不尽的 composer === 开发周期巨短,性能也不错。 | 
|  |      36ShundL      2020-06-05 16:47:55 +08:00  1 只要有 PHP 存在的话题,鄙视链就会开始工作,没办法,PHP 在鄙视链的底层,很 LOW 。 但它目前的占有量还是巨大的,web 开发方面尤其是网页开发,php 应该是上手最快的,几天的学习你就能开始写东西了,虽然可能 bug 满天飞,代码如屎。 php 的环境 win 上简单点儿直接安装个 phpstudy,自带 apache/nginx 、mysql 和 php 多个版本。linux 上安装个 lnmp 一键环境包,然后就可以撸了。 | 
|      37nextvay      2020-06-05 16:52:47 +08:00 体验生活?还是生存? 体验生活都无所谓 生存那就不一样了 PHP,高级工程师的话,面试几乎都是后台了且工作机会都很少 Go,目前好多公司都转 go 了,所以我是 PHP 跟着换工作转 Go 了,开发起来比 PHP 慢一些,比 Java 更慢一些 Java,生态很好,大公司都在用,霸主地位 Python,生态也还好,大数据、运维用的多一些,web 开发少一些吧 以目前的我来说,如果有 Go 给 30k,Java 给 25k 的 offer 的话,我选 Java,以后就业面更广 | 
|  |      39rioshikelong121      2020-06-05 16:55:52 +08:00  2 .NET core | 
|      40annielong      2020-06-05 17:00:19 +08:00 web 开放没有 c#和 java,只能选 php,其它根本不用考虑。 | 
|  |      41wangyzj      2020-06-05 17:03:35 +08:00 你要看你的坐标来选择 | 
|  |      43qq7790586      2020-06-05 17:04:51 +08:00 看甲方,叫你用 asp 你也得用。 | 
|  |      44lepig      2020-06-05 17:05:18 +08:00 楼主前 3 点说的不就是 PHP 嘛, 老油条表示 第四点 也很 OK 哈哈哈哈 | 
|  |      45zzzmh      2020-06-05 17:05:52 +08:00 没有 java 猛男落泪 | 
|  |      46herozzm      2020-06-05 17:08:11 +08:00 via Android go 做后端 php 做前端套模板啥的 | 
|  |      47qloog      2020-06-05 17:09:34 +08:00 go 吧 | 
|  |      48qW7bo2FbzbC0      2020-06-05 17:11:11 +08:00 小项目,python + bottle.py 尽量一个文件搞定 | 
|  |      49ShundL      2020-06-05 17:13:12 +08:00 就非得分出个一二三来吗? 楼主你自己都去看看这几门语言的语法,自己看喜欢哪种风格就用哪种,不存在用了这种就会走上人生巅峰用了那种就会吃不上饭。 可以都学 | 
|      51HENQIGUAI      2020-06-05 17:25:22 +08:00 大 Java 不香么 | 
|      53helionzzz      2020-06-05 17:40:18 +08:00 @ztxcccc 毕竟 laravel 帮 sy 精简了不少东西了,而且中文资料已经很丰富了。直接上 sy 学习曲线太陡了,现在好多了,sy2 的时候中文资料也就是个官方手册的部分汉译版 | 
|  |      55wzw      2020-06-05 17:57:50 +08:00 via iPhone 用了很久的 Python,但是我在用 go 了 | 
|      56dongisking      2020-06-05 17:59:02 +08:00 在吃 PHP 饭,以后打算吃 GO 的饭,Java 吃不下啊(太多人吃了,想吃但是没优势) | 
|  |      57fiypig      2020-06-05 18:01:00 +08:00 不知道 go 跟这三比,是高兴呢 ,还是高兴呢 | 
|      58Seanfuck      2020-06-05 18:27:16 +08:00 via iPhone 做 web 开发的话,当然选 php 。不要听上面那些语言鄙视者的话(码农思维),所有语言都是个工具,谁能简单快速完成任务谁就是最好的! | 
|  |      59abcbuzhiming      2020-06-06 07:20:28 +08:00  1 PHP,虽然我不喜欢这东西,但是这东西是为 web 而生的 1.生态,PHP 就是为 web 而生的,你要说在 web 这块的生态谁能和 PHP 较劲,那就只剩下 Java,其它都一边去,对,我说的就是 nodejs,go,python, 2.开发效率,你说的都满足,动态语言,不过你要小心重构火葬场问题 3 和 4 就不太满足了,基本上动态语言类都不太满足楼主的这两个要求 | 
|  |      60Roung      2020-06-06 07:32:55 +08:00 via Android 短期 PHP,长期 go | 
|  |      61Hanggi      2020-06-06 08:15:57 +08:00 最好是都会一点, go 用来写服务,nodejs 写前端和一些对性能要求不高的后端,python 作为工具语言写机器学习什么。 | 
|  |      62cmdOptionKana      2020-06-06 08:30:59 +08:00 via Android 如果只考虑楼主列举这几点的话,Ruby 无敌。 | 
|  |      63MrJing1992      2020-06-06 08:51:11 +08:00 前期,拼开发效率,认准 PHP + Laravel ;后期,拼稳定 /大规模协作,认准 Java + Spring 。 生态很重要生态很重要生态很重要 | 
|  |      64gejun123456      2020-06-06 08:55:17 +08:00 via iPhone kotlin 啥都有 考虑下? | 
|  |      65oahebky      2020-06-06 08:56:08 +08:00 via Android 个人觉得基本上看你开发的是什么样的 Web 比如说是电商类、公司网站、工具接口调用(翻译、OCR 、等等)、网页小游戏 or 在线工具(大部分能力由前端提供)、等等等 搞清楚了这些再选工具不是更合理吗? | 
|  |      66duan602728596      2020-06-06 09:06:04 +08:00 via iPhone socket 的话直接 nodejs 吧,用 socket.io ,客户端(浏览器)内连兼容都给你搞好了 | 
|      67uxff      2020-06-06 09:22:33 +08:00 java 优先,从开发速度,包管理成熟度,代码规范,性能,生态,趋势及领域,就业机会,等等来说,都比其他语言有优势。 | 
|  |      68tanranran      2020-06-06 09:26:05 +08:00 kotlin 啥都有 考虑下? | 
|      69uxff      2020-06-06 09:29:32 +08:00 从语言设计(语法,包管理,框架成熟度)上来说,java 和 c#都是挺好的语言。 比如包声明和管理,类声明和目录结构,等都规范性挺好。而 php 因为约束过松而被经常用坏。 c#只是应用平台限制在 win 平台。 | 
|  |      70SaigyoujiYuyuko      2020-06-06 09:49:40 +08:00 php + laravel + swoole / go / nodejs(没用过 打算试试看) | 
|  |      71silvernoo      2020-06-06 10:11:44 +08:00 我选狗 | 
|      73jimyan      2020-06-06 10:15:03 +08:00 kotilin | 
|  |      74cz5424      2020-06-06 13:54:19 +08:00 帮你排除 php,node.js | 
|  |      75cz5424      2020-06-06 14:01:10 +08:00 排除 node.js 看这个 https://www.v2ex.com/t/678888#reply94 | 
|      762kCS5c0b0ITXE5k2      2020-06-06 14:11:28 +08:00 考虑 websocket 那肯定排除 PHP 啊 那怕 PHP 用了 Swoole 写实现起来也很麻烦。不如用 Go 吧 | 
|  |      78p1gd0g      2020-06-06 14:50:07 +08:00 我们公司的事实就是 php 全部重构到 go 。。。 | 
|  |      79leohxj      2020-06-06 15:26:11 +08:00 | 
|  |      80xiaotianhu      2020-06-06 17:17:56 +08:00 只考虑个人不考虑团队的吗 | 
|  |      81Carlgao      2020-06-06 18:55:12 +08:00 觉得 PHP 只能做 Web 路有点窄,所以转 Go 中!! | 
|  |      82MikeFeng      2020-06-06 21:25:58 +08:00 node>go>python>php | 
|  |      83jss      2020-06-07 07:44:08 +08:00 via iPhone 你这就像 GTR(go) 跟电动车 自行车比一样,电动车插钥匙就开动,甚至,自行车钥匙都不要,它们能一样吗? | 
|      84shellic      2020-06-07 07:49:05 +08:00 via Android web 开发除了 Java 就是 PHP,别听别人瞎 JB 吹瞎 JB 黑;架构做不好用什么语言重构都得火葬场,代码是人写的,代码屎说明人屎不是语言屎;你去招聘网站看一下就知道一群吹这个黑那个的都是搁那打嘴炮;当然你如果不用 Java 又瞧不上 PHP 那选 Go 吧,至少这两年在吹 Go,招人应该不会太难,靠不靠谱就不知道了,毕竟很多都是半瓶子水从别的语言转过去的。 | 
|      85newtype0092      2020-06-07 11:18:38 +08:00 @p1gd0g 老哥多讲讲呗,因为什么问题重构,怎么规划的,重构完解决了多少,开发人员怎么安排的等等。。。 | 
|  |      86akagishigeru      2020-06-07 12:35:36 +08:00 via iPhone PHP 。楼上很多都是扯犊子。php 写的💩的人写啥都是💩。和语言一点关系没有 | 
|  |      87p1gd0g      2020-06-08 09:05:27 +08:00 @newtype0092 主要还是性能问题,我们这边两条类似的业务线,php 用的机器多一倍,还竞猜告警。 规划就是先改一部分接口,逐步迁到 go 。目前就是 php 和 go 同时在跑着。开发要求 php 和 go 都会。 |