Python 做后端,相对于 Java 或者 go 来说,到底差在哪?

2023-08-18 15:32:57 +08:00
 realNewBee

在 V 站这看了很多文章,都说 py 做后端怎么怎么差,都劝这转 java 和 go ,那 py 到底差在哪呢?本人就是干 py 的,5 、6 年了,也还没意识到差到哪去呀

11550 次点击
所在节点    Python
105 条回复
arischow
2023-08-19 09:39:22 +08:00
反正我从来不用加班
davehandong
2023-08-19 09:40:01 +08:00
运行机制不一样,所以使用场景也不一样。

Java 是解释型语言,运行需要 JVM 。
GoLang 是编译型语言。
cbdyzj
2023-08-19 09:46:33 +08:00
性能差、标准差,主要没有好爸爸
bitmin
2023-08-19 09:50:35 +08:00
每个语言有自己适用的场景,大部分时候没有绝对的最好谁坏吧


公司有些人还只会 python ,我怕他们会被裁,新开了一个项目用 python 写接口

大部分业务还没做大就没了,这个新项目我不担心性能和工程复杂的问题

如果用 python 能快速完成业务需求,并且语言对程序员友好没啥反对的理由

至于说 python 写的代码不容易维护,就多上心看看代码让同事写好点


等到业务发展起来了,财大气粗想用啥都行,招些人用 rust 给项目优化部分业务都可以


对于个人找工作来说确实 python 后端的工作少多了,说实话要不是因为公司里还有人用 python ,新项目没考虑过用 python 写后端
iorilu
2023-08-19 09:51:16 +08:00
主要还是人的问题

你可能觉得自己技术没问题

但事实上, 至少在国内, 写出同样合格的代码, 用 java 肯定难度远比 python 低

所以从公司角度, 无法找到大量的合格 python 开发是主要原因
AS4694lAS4808
2023-08-19 11:26:04 +08:00
以前是 java 后端,现在用 python 搞 AI ,感觉还是要看场景。大规模工程化的项目肯定 java ,review 了几十个人写的代码,以及各种库的源码,风格不会差的太远,易懂且格式化,常用的开源库也标准。python 适合搞各种 demo 和 poc 项目,以及科学运算,开发效率真的是比 java 快太多,各种奇奇怪怪的库也很多,甚至有 gradio 这种比 swing 强 N 倍的 UI 库,搭一个简单的项目框架和环境也就不到 10 分钟,但是内部项目因为都不大没有特意规范代码风格,review 的时候发现写法上一千个人有一千个哈姆雷特,开源库的源码也是,量多但是质不确定。不过纯 python 后端的大项目没有经验,按说 fb 以前这么用,多花点精力工程化的能力还是可以肯定的?
zlstone
2023-08-19 13:18:49 +08:00
都说堆机器,但是今年很多企业都要控制成本,能用一台跑的就绝不开两台,甚至本来好几台的,现在都在想办法降下来。已经不是以前堆机器的时候了。
zlstone
2023-08-19 13:20:21 +08:00
@AS4694lAS4808 #66 这点确实,Python 库多,但是质量普遍很差,人人都能上手,但是人人写的都不一样,接手别人的代码太痛苦了
tomczhen
2023-08-19 14:13:48 +08:00
PHP:我就喜欢你们看不起我又干不掉我的样子。
Python:楼上说得对。
AS4694lAS4808
2023-08-19 15:12:24 +08:00
@zlstone 再遇上写 sdk 但是不用 typing 的人
james122333
2023-08-19 21:13:17 +08:00
@dayeye2006199

性能不是大问题 但肥肿性能又不好就是问题
nonduality
2023-08-19 23:31:10 +08:00
@AS4694lAS4808 Facebook 旗下的 Instagram 服务后端就是基于 Django ,一堆工具链也都基于 Python 。Instagram 这么多年坚守 Python 平台,针对 Python 的不足做了很多优化,有不少成果反馈到 CPython 项目本身,Py3.8 的一个新特性就是他家贡献的,至于即将推出的 No-GIL 也是 Instagram 的员工搞出来的。
tianzi123
2023-08-20 04:56:02 +08:00
这个就跟前端 js 都上 ts 一样了,为了规范化和可维护,宁肯损失灵活性
mmdsun
2023-08-20 23:54:08 +08:00
@davehandong
Java 既不是纯粹的编译型语言,也不是纯粹的解释型语言,而是一种半编译半解释的语言。
ecloud
2023-08-21 05:48:30 +08:00
@realNewBee 就是跟语言关系很大。python 写法太自由。20 来人的小团队还好说,大了的话根本无法统一
ecloud
2023-08-21 06:04:11 +08:00
@ospider ig 这种程度的,在业务角度讲还就是个小程序。随便一个中等机关的 OA 都比它复杂。更不用说啥 ERP, CRM 的了。不过我还真用 put 做了个 CRM😂
chaleaochexist
2023-08-21 09:52:25 +08:00
真的是叫不醒装睡的人.

多做几个垃圾项目, 多遇到一些垃圾战友, 多看看屎山代码就明白 java/go 的好处了.
chaleaochexist
2023-08-21 09:53:15 +08:00
包括所谓的开源项目 譬如 django 的源码

譬如 django orm 和 gorm 的对比. 就能感觉出来这二者的区别了.
v2taylor
2023-08-21 10:00:19 +08:00
python 后端实现太灵活,下限低,没有默认规范,强制要求规范严格执行,能好点
realNewBee
2023-08-21 10:07:29 +08:00
@chaleaochexist 你怎么知道我没做过垃圾项目,没遇到垃圾战友,没碰过屎山代码?现在就是因为可以通过团队规范的管理能力来避免屎山,我才问出这个问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/966460

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX