hl0832
V2EX  ›  Python

吐槽一下! Python 后端的开发路线、场景等在网上总是难有好的案例,羡慕 Java 好多路线、场景、解决案例 ORZ 太难了

By hl0832 at 2020 年 5 月 8 日 · 7477 次点击
47 条回复  •  2020-06-11 00:00:21 +08:00
specture
   1
specture  
   2020 年 5 月 8 日   ❤️ 1
python 做复杂的 web 后端其实不是特别合适。python 这几年的火爆更多的是建立在数据分析,机器学习这个领域
hmxxmh
   2
hmxxmh  
   2020 年 5 月 8 日   ❤️ 1
Python 在 web 后端这一块市场太小了,最近找工作有感,机会少
qdzzyb
   3
qdzzyb  
   2020 年 5 月 8 日
devops 算法 大数据 感觉就这个三个方向岗位多一点
stupidchen
   4
stupidchen  
   2020 年 5 月 8 日
@qdzzyb 确实很神奇,devops 这块的需求感觉是大些。难道是因为开发速度快的缘故?
xizismile
   5
xizismile  
   2020 年 5 月 9 日 via Android   ❤️ 2
@stupidchen devops 需要胶水代码把各种工具整合起来,这种场景下 python 很合适
mritd
   6
mritd  
   2020 年 5 月 9 日 via iPhone   ❤️ 1
@xizismile #5 然后成型以后 go 推翻重写,别问我怎么知道的。
HangoX
   7
HangoX  
   2020 年 5 月 9 日
JAVA 的确是这个好处,毕竟好几年了,语言特点也决定了这个很适合堆人
jack870131
   8
jack870131  
   2020 年 5 月 9 日 via iPhone
毕竟几个国内互联网大厂都在用 Java 求职生态上还是比较友好的
zachlhb
   9
zachlhb  
   2020 年 5 月 9 日 via Android
语言只是工具,没有合适不合适,我一直在用 python 做 web 后端,并没有觉得哪里不合适
songkeys
   10
songkeys  
   2020 年 5 月 9 日
@zachlhb #9 主帖没说不合适,只是说相对 Java 来说,应用场景少,难找到好的实践案例。
arischow
   11
arischow  
   2020 年 5 月 9 日 via iPhone   ❤️ 1
你在这里发这种帖学不到东西的,只会收到很多类似「 Python 做后端不行」的回复。
LokiSharp
   12
LokiSharp  
   2020 年 5 月 9 日 via iPhone
Python 不适合做后端
37Y37
   13
37Y37  
   2020 年 5 月 9 日 via Android
python 做后端不行 🐶
确实是 py 写 devops 相关工具的很多
zachlhb
   14
zachlhb  
   2020 年 5 月 9 日 via Android
@songkeys 因为 python 做后端的都是自己写的,都舍不得放出来
namelosw
   15
namelosw  
   2020 年 5 月 9 日
没啥不行的,Python 适合 Web 就像 Ruby 适合 Web 一样

Java 反而没那么适合 Web,只能说凑合。Java 表现力弱,所以依赖轮子,创造了更多工作

眼馋 Java 的案例,也可以直接看看自己搞,大部分 Java 的组件 Zookeeper Kafka ES 之类的 Python 也能用
vicalloy
   16
vicalloy  
   2020 年 5 月 9 日
很想知道这里所谓的开发线路、场景具体指的是什么。
按照我的理解构架层面的很多东西和语言本身的关系不是特别大,不存在 A 能做 B 不能做的情况。
xiaolinjia
   17
xiaolinjia  
   2020 年 5 月 9 日
基本上在外网,国内很少。顺带力扣不也是 django 做的
stoneabc
   18
stoneabc  
   2020 年 5 月 9 日
@xiaolinjia Insagram 也是 django
cz5424
   19
cz5424  
   2020 年 5 月 9 日 via iPhone
国内比较多转 go 了
NoKey
   20
NoKey  
   2020 年 5 月 9 日
上次我找工作,那个公司就是 python 后端,然而我一 java 后端,python 只写过一些脚本,他们的技术负责人很看好我这个 java 转 pyhton,说的你熟悉熟悉转过来就可以了嘛。。。我放弃了😓
zachlhb
   21
zachlhb  
   2020 年 5 月 9 日 via Android
@xiaolinjia #17 是的,我现在就是 django+tornado
hunter2015
   22
hunter2015  
   2020 年 5 月 9 日
基本没有,转 java 吧
xiaolinjia
   23
xiaolinjia  
   2020 年 5 月 9 日
@zachlhb 能请教下在什么场景下要结合 tornado 吗,单靠 django 不能实现么,是要借助 tornado 的异步循环?
ychost
   24
ychost  
   2020 年 5 月 9 日
django 性能太弱了
zachlhb
   25
zachlhb  
   2020 年 5 月 9 日 via Android
@xiaolinjia #23 需要用到 socket 长链接,对接硬件设备之类的,还有方便运维部署,用 tornado 写个 httpserver 接管 django 的 wsgi,然后运维直接执行文件就行了,nginx 上只用做个反向代理,不用配其他东西了
TypeError
   26
TypeError  
   2020 年 5 月 9 日 via Android
看英文资料 或者换语言,没必要只盯着一门语言
wellsc
   27
wellsc  
   2020 年 5 月 9 日
@cz5424 这是企业内空降布道师的功劳吧,用 go 写业务代码真的没感觉比 Python 强多少
monsterxx03
   28
monsterxx03  
   2020 年 5 月 9 日   ❤️ 1
python 主要在 io 这块很烦, async io, tornado, gevent 各占山头, 你要集成个 jaeger 做 tracing, 然后发现官方的 client 是基于 tornado 写的, 然后自己 service 用 gevent 跑的. 对接个第三个 sdk, 人家地下是基于 requests 的,结果自己是 async io 写的 hmmmmm
wangyzj
   29
wangyzj  
   2020 年 5 月 9 日 via iPhone
没啥不行的
就是市场上用的少而已
lolizeppelin
   30
lolizeppelin  
   2020 年 5 月 9 日
曾经飞在封口上的 openstack, 那么大项目都走下坡路

扯什么 django tornado 就算了
watsy0007
   31
watsy0007  
   2020 年 5 月 9 日
具体场景具体分析. 比如?
crella
   32
crella  
   2020 年 5 月 9 日
用着冷门语言的我表示经常借鉴 python 或者 js 的代码和库……
LYEHIZRF
   33
LYEHIZRF  
   2020 年 5 月 9 日
什么场景 说出来分析分析
dayeye2006199
   34
dayeye2006199  
   2020 年 5 月 9 日
对大部分网站来说,django 或者 py 的一堆网页后端方案应该都还没构成性能瓶颈。

instagram 这种不也有魔改版 django 撑着么。。

LZ 可能指的是 java 可以做一些大数据方面的开发?或者一些基础件的开发-数据库,存储之类的组件?
hoyixi
   35
hoyixi  
   2020 年 5 月 9 日
很多人为了 Python 而 Python,前两年是为了 Node 而 Node,为了 Go 而 Go
适合的才是最好的
baozijun
   36
baozijun  
   2020 年 5 月 9 日   ❤️ 3
JAVA web 的坑 亚马逊(云计算),netflix(微服务),阿里巴巴和京东(高并发高性能)都给你趟好了,无数优质稳定久经考验的轮子无脑用。

至于写代码繁琐,IDE 智能提示自动补全自动生成让你只为命名烦恼,
向前兼容且不花哨的工程化语法让你即使接过前人的锅亦可以顺利背下,静态代码分析也由此可以提前找出可能存在的代码错误(用法错误);
完善的并发处理可以尽可能细粒度的管理状态(就是思路和概念掌握起来确实烦,掌握了用起来相对简单);
注解让管理和配置自动化如虎添翼。

顺便提一句,JS 后面肯定是最好的语言选择。

相关利益者: java(Node)工程师(python 方面只用 django 做过 SNS 毕设,rails 大学自学过)

**不用人云亦云,整天贬低语言吹捧语言的一般都是菜鸟或者没有经历过大项目的(或者我这种没有主见的),真正的大佬只会说我全都要,然后信手拈来,或独立或整合应对各种场景.语言只是工具,应对各种需求,而不是信仰,非要中二的争出个你死我活**
MeteorCat
   37
MeteorCat  
   2020 年 5 月 9 日 via Android
脚本语言都差不多,到底一定规模就要重写一遍
dearmymy
   38
dearmymy  
   2020 年 5 月 9 日   ❤️ 1
好多朋友是都是 python 初期,业务大了 go 重写边
AngryMagikarp
   39
AngryMagikarp  
   2020 年 5 月 9 日
Java 是因为出现得比较早,在企业应用这块站稳了脚跟,各种大而全的框架。那个时代 Java 就没有竞争对手。不过某种意义上这也是它的缺点。

小公司用 Java 的并不多。小而老的公司用 PHP,小而新的用 Python 、Go 甚至 Node 、Ruby 。
wysnylc
   40
wysnylc  
   2020 年 5 月 9 日
@AngryMagikarp #39 python 比 java 还早一年
cz5424
   41
cz5424  
   2020 年 5 月 9 日 via iPhone
@wellsc 很多小公司初期项目,开发效率比性能重要的多,能不能活下来,再考虑性能。大家都造飞船,造不出来就死了有何意义
cz5424
   42
cz5424  
   2020 年 5 月 9 日 via iPhone
@monsterxx03 Python async 是比较新的东西了,这种情况很正常,毕竟库多,大不了自己改下库
hl0832
   43
hl0832  
OP
   2020 年 5 月 9 日
其实我接触 python 也就是这 2 年,只是感慨,以国内而言,企业级应用中 python 后端开发在各场景(大数据、devops 、物联网等)感觉分享的案例不是太多(好多其实还是偏向于个人简单应用),但是个人感觉那么多前辈应该是有不少心得,为啥分享的越来越少了。语言当然没有好坏,能掌握更多、触类旁通自然越来越强。最大的感慨还是:如果应用分享的少,生态难免越来越弱,那更多的新人学习的机会就更少了。
specture
   44
specture  
   2020 年 5 月 11 日
很多回复都停留在能不能做的层面上,但是实际上一个产品选择什么语言更多是从成本和工程性上考虑的.python 优点在于语法灵活,非常多的糖,但是真正去做复杂的后台系统,不管是 TO B 的应用,在安全性,抽象能力上不如 java 等;做 TO C 的应用,在性能上不如 JAVA,GO 。
能做和能做好,做好后易于维护易于扩展是两回事。之前有读 k8s 源码,最近工作需要也研究了下 openstack 源码,我觉得两个语言的理念和哲学造成了两个项目可读性和可维护性的较大差异,明显 k8s 源码看起来更舒服,调试起来也更舒服
AsterPy
   45
AsterPy  
   2020 年 5 月 15 日
@zachlhb 一针见血 啊。都是闷声发大财,然而案列缺很少,比如 django-restful 。
ForIJk
   46
ForIJk  
   2020 年 6 月 3 日 via iPhone
@arischow 有推荐的吗?字节跳动挺多 Python 岗位的
dahuahua
   47
dahuahua  
   2020 年 6 月 11 日
@ForIJk 头条进去基本也是转 Go 的 学 Python 最好的出路我感觉就是去头条了
推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
© 2026 V2EX · 84ms · 3.9.8.5