V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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
0x0208v0
V2EX  ›  Python

深夜睡不着,思考为什么国内 Python Web 后端太少。主要还是用的人不多,以及网上的文章内容太古老太浅显

  •  
  •   0x0208v0 · 249 天前 · 11695 次点击
    这是一个创建于 249 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,如果搞 Python Web 后端的都能齐心协力发发技术文章,慢慢学 Python 的人多了,总有人会当领导的,那市场不就有了吗?

    128 条回复    2023-09-04 23:02:31 +08:00
    1  2  
    chengxiao
        1
    chengxiao  
       249 天前   ❤️ 1
    看样子 是刚入行不久 2015-2018 年段
    python 以及 python web 内容满天飞
    知呼,豆瓣都是 python web 技术栈
    直到 18 年后 golang 起飞
    kaikai5601
        2
    kaikai5601  
       249 天前 via iPhone
    这是技术文章的问题吗?语言特征决定你没发占有大规模市场
    jstony
        3
    jstony  
       249 天前
    不早了,洗洗睡吧。不对,天亮该起床了。
    Rennen
        4
    Rennen  
       249 天前
    只怪 Java Go 太成熟
    wonderfulcxm
        5
    wonderfulcxm  
       249 天前
    是啊?为什么呢?大规模的不行,小规模的也可以上嘛。
    lsk569937453
        6
    lsk569937453  
       249 天前   ❤️ 2
    有没有可能是先人都踩过 python web 这个坑了,不想要再踩了。


    以我的拙见
    python 和主流的后端语言比(java&&golang&&.net)目前至少有两个问题。
    一个是性能问题,执行一个多核任务还要开多进程。
    一个是动态语言。动态一时爽,维护火葬场。一个项目上了 5W 行,根本没办法维护了,连重构都重构不了。
    0x0208v0
        7
    0x0208v0  
    OP
       249 天前
    @chengxiao 你说的对。入行马上六年了。。差不多就是 15 ~ 18 年学的 Python ,当时确实挺火的,现在确实凉了
    0x0208v0
        8
    0x0208v0  
    OP
       249 天前   ❤️ 1
    @chengxiao 看了你的签名,Work is hard ,改写 Golang ,为什么这么说呢,可以展开讲讲吗
    dacapoday
        9
    dacapoday  
       249 天前   ❤️ 3
    web 后端技术 和语言又不绑定,http 协议,接口设计范式,数据库,缓存,模板系统 这些都是共通的,这么纠结于 Python 为何?
    0x0208v0
        10
    0x0208v0  
    OP
       249 天前
    @lsk569937453 这几年 Python 的很多特性都不错,估计也错过了风口。。。
    pengtdyd
        11
    pengtdyd  
       249 天前
    典型的学错了语言,你要是学 C 就没有这烦恼了,因为 C 写不好,不是 C 不行,是自己不行。
    chengxiao
        12
    chengxiao  
       249 天前
    @v2exblog #8 因为写 python 没饭吃啊.......不过现在看起来都差不多,语言就是个工具而已,各有各的问题。
    hunk
        13
    hunk  
       249 天前
    python 就像 DIY ,啥都要自己攒,灵活但不那么容易上手。在 node 性能和框架的下不值一提,特别是项目大了以后,java 的优势无以伦比。
    要灵活还是要稳定,答案自然就有了。目前只有自己的项目用 python ,慢慢向 nodejs 迁移。
    duduke
        14
    duduke  
       249 天前 via iPhone
    🙃为什么呢,因为实在摆不到台面上
    treblex
        15
    treblex  
       249 天前
    前两天看了 django packages,感觉好多包也是只有前端部分,实际上依靠背后的 saas 服务,国外是不是也开始少了
    zjsxwc
        16
    zjsxwc  
       249 天前
    我以前刚入行想找 python 的工作,后来找不到就入了 PHP 的坑。
    msaionyc
        17
    msaionyc  
       249 天前
    国外很多吗?
    另外就国内用的人少这一点来说,你为什么去质疑搞 python 后端的人没齐心协力,而不是去质疑 python 做后端真的不太合适,或者说没啥优势呢?
    Rooger
        18
    Rooger  
       249 天前   ❤️ 3
    有些东西不适合就是不适合,的确如楼上的好多观点,在 2015 年前,Python 搞 Web 的不少,但是但是从 2016 年之后,Go 开始有起色之后,Python 慢慢就被抛弃了。

    真的,我做了十多年游戏后端了,也曾尝试想把 Python 引入到项目中,发现挺不容易的。

    对于后端而言,稳定性和性能虽然在最开始不会凸显,但是一旦数据量上来,Python 可能就比较被动了。还是编译型的语言更有优势。例如:Go, Java 或者近几年的 Rust ,都比 Python 要更加适合。

    单纯练手绝对没有问题,用来作为一门学习的语言也不错,做工具也可以,但是上到生产环境,特别是要求稳定和性能的情况下,Python 优势太小了。
    cxshun
        19
    cxshun  
       249 天前   ❤️ 1
    @lsk569937453 第二个问题非常同意,之前在网易维护一个 10 年+的 python 2.x 项目,没人敢重构。说要换 Python3 说了好几年,还是一个单体项目。动态语言写的时候爽爆了,随便加属性方法,到处有,后面连一开始写的人都不知道哪里有那玩意。

    PS:那项目每天要定时重启,那酸爽,简直了。
    Imindzzz
        20
    Imindzzz  
       249 天前 via Android   ❤️ 4
    深夜睡不着,思考为什么国内 Python Web 后端太少。主要还是 Python Web 后端太少,以及网上 Python Web 后端太少。
    haohh
        21
    haohh  
       249 天前
    学 python 的人很多啊 只是没做 web
    sky9401
        22
    sky9401  
       249 天前
    在 web 后端里,py 一直是其他吧。在之前这个领域,PHP 、JAVA 才是主流
    gimp
        23
    gimp  
       249 天前   ❤️ 2
    这是我在 2017 保存的一位知乎用户在 2015 的回答,Python Web 是真的没前途

    aladdinding
        24
    aladdinding  
       249 天前
    语言就是工具,以后会有更好的,op 没必要一直纠结一门语言
    python 自己写点小东西还是不错的,要工程化还得是 java 、go
    agagega
        25
    agagega  
       249 天前
    同为脚本语言,python 在 web 这块做得远不如 ruby 极致,优势可能就是会的人稍微多一点,但和 Java 都是数量级差距
    lzgshsj
        26
    lzgshsj  
       249 天前
    往左有 nodejs ,往右有 java 和 go ,用 python 搞 web ,怎么说呢,有点不上不下卡在那的感觉。
    arischow
        27
    arischow  
       249 天前
    先说说你想做什么吧……然后你碰到了什么问题?
    james2013
        28
    james2013  
       249 天前
    我使用 python 的 flask 框架进行 web 开发,跟 java 的 spring boot 框架相比,flask 体验和开发速度很垃圾
    fredweili
        29
    fredweili  
       249 天前
    看英文
    0x535
        30
    0x535  
       249 天前 via iPhone
    没人说一下 python 的 性能问题吗,做后端连 node 都干不过吧
    Mexion
        31
    Mexion  
       249 天前   ❤️ 1
    用 python 为什么不用 nodejs ,python 哪点比得过 nodejs
    fuchish112
        32
    fuchish112  
       249 天前
    每个语言都有自己的适用领域,国内的非要什么语言都往 web 上靠,python 适合做工具,go 适合做中间件,关键大家都写 web ,就很离谱
    8355
        33
    8355  
       249 天前
    python web 连 php 都比不过吧。。。别说 java 了
    从始至终都是小众
    fionasit007
        34
    fionasit007  
       249 天前
    看起来很好写,很容易上手,写个几十行几百行也很容易看懂,但是看了很多别人写的成型项目真的是屎山
    ljrdxs
        35
    ljrdxs  
       249 天前
    @dacapoday OP 不想转岗。不过就事论事,这种要转就早点转。除了不肯学新东西,OP 眼光也不行。除了选 Python Web ,还不早点转岗。
    ljrdxs
        36
    ljrdxs  
       249 天前
    @fuchish112 盗版成风。只做桌面端,大部分不肯付费。
    herozzm
        37
    herozzm  
       249 天前 via iPhone
    python 用来干数据分析,ai 大模型,其他的就算了,性能差
    Muniesa
        38
    Muniesa  
       249 天前 via Android
    每位师傅都各有长短,很正常的。搞 Java 的人那么多,也没见几个用 Java 做深度学习训练的啊。
    Outclass
        39
    Outclass  
       249 天前
    看你发了好几篇帖子讨论关于 python 后端的问题,为什么你盯着 python 一种语言呢,与其在这思考,不如多多学习,每个语言都有自己使适用的领域。
    araraloren
        40
    araraloren  
       249 天前
    @herozzm 我觉得 python 适合调库
    0x0208v0
        41
    0x0208v0  
    OP
       249 天前
    @Outclass 想要盘活 Python ,毕竟喜欢这个语言。。。
    yangyaofei
        42
    yangyaofei  
       249 天前
    python 快速实现是很爽, 但是大到一定程度, 类型的问题很恼人.

    还有, python 写的好不好个人因素挺大的, 但是像 java 这种就是下限比较高, 不容易写飞, 太烂了直接编译过不去.

    python 有它的优势, 不管是机器学习还是其他领域甚至是纯语言本身, 但是只是盯着 python web 的话, 也没什么可以说的, web 的技术又不在于 "语言和库" 本身, 哪个语言的 web 不是看个一两周就直接可以上手写的东西啊, 程序如何构建 协议本身 网络 算法 才是 web 的核心.
    0x0208v0
        43
    0x0208v0  
    OP
       249 天前
    @ljrdxs 对啊,不然怎么办啊。。。换语言还要把坑都踩一遍。。。想想就头大
    fgwmlhdkkkw
        44
    fgwmlhdkkkw  
       249 天前
    @Mexion 语法和语言本身都比 js 好得多、多继承、省内存、速度方面也可以使用 uvloop 。
    ljrdxs
        45
    ljrdxs  
       249 天前
    @v2exblog 你自己不想过早点转?所以现在幻想大环境改变?
    改变自己总比改变大环境容易得多。
    Morii
        46
    Morii  
       249 天前   ❤️ 1
    动态语言写 web 我觉得不合适,web 业务迭代很快,容易涉及到多次重构,实在是没有 java 或者 golang 来的轻松
    janus77
        47
    janus77  
       249 天前
    那你有没想过为什么用的人不多
    是因为不好用啊。。。。
    也就是说,如果你专精 py ,无法用纯 py 做到其他语言那样的业绩(比如维护一套很棒的系统或者程序)
    那既然你没有业绩,当然也就做不到领导位置,因为领导起码是要有处理各种复杂问题的能力,你没有,你凭什么上位
    0x0208v0
        48
    0x0208v0  
    OP
       249 天前
    @Rooger 那你都用什么比较多啊,有没有推荐的东西,值得花一辈子投入的
    janus77
        49
    janus77  
       249 天前
    @janus77 #47 注:我这里说的业绩是 web 相关的
    james122333
        50
    james122333  
       249 天前 via Android
    这东西就是要轻量不轻量 不算外部模块直接就破百兆容量 要效能没有
    vicalloy
        51
    vicalloy  
       249 天前
    不说 Python ,这些年 ROR 也不怎么样。
    这些年 Web 的主流生态始终是 Java ,非主流生态被 NodeJS 和 Go 占据,其他技术都小众。
    对于 Python Web ,就个人喜好而言,首选 Django 。
    Flask 这东西太简陋,也就看着简单,适合折腾,不适合干活。
    如果嫌 Django 功能太多用不上,FastAPI 也比 Flask 要好用。
    0x0208v0
        52
    0x0208v0  
    OP
       249 天前
    @vicalloy 几年前我就想过,死守着 Python 了,干成专家以后也能混口饭吃。。。最近这大环境让我有点害怕,甚至觉得之前的投入(比如看各种 Python 的技巧,原理,设计模式啥的)都白费了
    jackOff
        53
    jackOff  
       249 天前 via Android
    Python 的缺点是速度慢和假并发,不大被看好可以作为企业级应用来使用,可以做一些内网敏捷开发工具,但是最新消息有在重构解决运行速度这些历史包袱的问题,或许在等一段时间会有不一样的风气
    xiangyuecn
        54
    xiangyuecn  
       249 天前
    - Web 前端不会用 python
    - Web 后端不会用 python
    sky857412
        55
    sky857412  
       249 天前
    python 一个人写着很舒服,多人协作,就很难
    winglight2016
        56
    winglight2016  
       249 天前
    这标题逻辑不通呀,为什么 XXX 太少,主要是用的人不多,这不是废话吗?

    至于后面的“网上的文章内容太古老太浅显”,lz 是看过几篇文章啊?多用 Google 搜英文文章可能收获更多

    内容我就不吐槽了,最大的问题还是逻辑不通,思维混乱
    chloerei
        57
    chloerei  
       249 天前 via iPhone   ❤️ 2
    web 开发一个好处是可以用任意自己喜欢的语言,等你的应用成功了,别人问这是用什么写的,就可以说这是 balabala ,这样就为语言做贡献了。
    0x0208v0
        58
    0x0208v0  
    OP
       249 天前
    @winglight2016 嗯嗯是的,主要是国内,但是标题有点模糊了。实际上国外很多文章都很新也很细致,自己学肯定可以,新手很难接触到外面了
    0x0208v0
        59
    0x0208v0  
    OP
       249 天前
    @chloerei 我靠好有道理啊
    simo
        60
    simo  
       249 天前
    只要涉及某一具体领域,多种语言选择的时候,建议多选。
    熟悉一门,其他都还好,至少做基本的业务上很快上手
    bugmakerxs
        61
    bugmakerxs  
       249 天前
    最近维护了一个 python web 项目,发现人部署麻烦。。容器内不单单有一个 python web ,还有个 nginx 和 uwsgi 。。。请求在容器中的调用链路是 nginx -> uwsgi -> Tornado ,查日志老费劲了
    darkengine
        62
    darkengine  
       249 天前
    呐,这就是学生思维了

    从来都是市场决定技术好吧
    0x0208v0
        63
    0x0208v0  
    OP
       249 天前
    @darkengine 展开讲哥,怎么具备这种市场思维
    Mexion
        64
    Mexion  
       249 天前
    @fgwmlhdkkkw 完全没觉得哪里比 js 好,更别说 ts 了,语言语法你指的是哪些,举个例子?速度方面 js 也爆了 python 几条街,js 生态也好
    Bazingal
        65
    Bazingal  
       249 天前
    python 向左,python web 向右
    darkengine
        66
    darkengine  
       249 天前
    @v2exblog 总结一下各个语言和技术的兴衰就知道了
    FreeEx
        67
    FreeEx  
       249 天前
    @bugmakerxs 如果你用 ws 还得引入另一个组件,打包成 docker 镜像也很大,虽然可以用的库很多,感觉都和纸糊的一样。。。
    Oilybear
        68
    Oilybear  
       249 天前
    每个语言都有自己的应用背景和时代场景。
    楼上那么鄙视,前段时间面了某大厂的某金融业务相关岗的时候才知道人就是 python 写的,还是 51 楼鄙视的不行的 flask 写的。
    StateMa
        69
    StateMa  
       249 天前
    因为国内 java 多啊,十几年的积累导致 java 用工开销低,维护成本低,技术积累丰富。就这么简单
    Courstick
        70
    Courstick  
       249 天前
    说实话当初搞 python web 就是冲着岗位少,人也少去的……Java 岗位多,搞的人也多啊,我是觉着 py 的 web 竞争相对小一些
    lifespy
        71
    lifespy  
       249 天前
    @v2exblog #52 其实很多语言的原理是差不多的,设计模式就更是一样的了。不会白费
    lifespy
        72
    lifespy  
       249 天前
    @v2exblog #52 设计模式的本质是学习编程思想,解决问题的方法
    DOLLOR
        73
    DOLLOR  
       249 天前 via Android
    我对接过的后端,绝大多数都是 Java ,还有少数的 go 、php 、node ,python 就没见过几个。
    0x0208v0
        74
    0x0208v0  
    OP
       249 天前
    @Courstick 展开讲讲老哥,你现在还搞 python 了吗
    bug123
        75
    bug123  
       249 天前
    多线程都没有的语言做个屁的 web ,用多进程来共享个数据都麻烦
    la2la
        76
    la2la  
       249 天前
    web 后端的核心是网络,数据库跟设计模式,跟语言有个啥关系。无非是那个语言封装程度高开发友好罢了。py 跟 java 上限可能是差不多的,下限 Java 比 py 高很多
    doyel
        77
    doyel  
       249 天前
    Web 后端其实对于大部分公司来说都是怎么便宜怎么来的,别说 java ,用 php 就能稳定输出迭代了,况且如果有高负载要求的话,py 也没什么优势
    Courstick
        78
    Courstick  
       249 天前
    @v2exblog #74 在搞啊,py 的圈子确实不大,就那么多公司在用,就那么多人在干活,总不至于竞争不过培训班出来的吧
    kppwp
        79
    kppwp  
       249 天前
    我觉得还是多人协同的关系,技术栈不是自己能决定的
    liubaicai
        80
    liubaicai  
       249 天前
    py web 的开发体验还不如 ror
    现在是 java&go 的天下了
    makelove
        81
    makelove  
       249 天前
    同量级对手中各方面都不如 nodejs
    fengdw
        82
    fengdw  
       249 天前
    唉, 我也是 python web , 现在也是迷茫下一步该怎么办, 转什么方向比较好
    enihcam
        83
    enihcam  
       249 天前
    有启发,希望.net core 后端也能领导市场。对,超过 python !
    xgdgsc
        84
    xgdgsc  
       249 天前
    要想工作就转 Go , 要想玩就转 Julia
    buchikoma
        85
    buchikoma  
       249 天前
    国内公司用什么语言大部分都是和业务或者业务负责人强相关的,因为有很多内部轮子就限定了语言的范围。

    我也写了两三年 python ,但不是写 python web ,是做 openstack 的二次开发,也是因为公司架构就是基于 openstack 。现在换公司了改写 go ,也是因为公司的轮子以及业务特征更适合用 go 。

    至于语言的切换,只能说在一些领域,对业务和某些产品的熟悉远比会用某种语言更重要。
    luyluy
        86
    luyluy  
       249 天前
    把主语换成.net 我觉得可讨论性就强多了
    Rooger
        87
    Rooger  
       249 天前 via iPhone
    @v2exblog 这个问题于我还是太年轻,没法回答
    julyclyde
        88
    julyclyde  
       249 天前
    @kaikai5601 大规模是靠 share nothing 的架构设计和大量机器堆出来的
    和语言有多少关系?
    swulling
        89
    swulling  
       249 天前
    Python 不适合水平不高的程序员合作的大型项目。
    besto
        90
    besto  
       249 天前
    @v2exblog 如果你觉得学的东西,只对 python 有用,那确实白干了。语言都是相通的,越到后来,越是框架设计,业务逻辑等,语言特性不重要
    luzihang
        91
    luzihang  
       249 天前
    about 鄙视链
    clue
        92
    clue  
       249 天前
    语言只是工具,编程思路是通用的,python 作为后端来说,没有什么不可替代性,不像浏览器端只能用 html/css/js ;
    或者说,python 和 web ,本来就是两个领域的事情,前后端早就分离了;

    如果是工作不好找,多学门语言不是坏事,还能开拓思路
    bianYuX
        93
    bianYuX  
       249 天前
    我曾经也思考过,现在直接是 go 开发了
    2NUT
        94
    2NUT  
       249 天前
    弱类型的语言不适合中大型工程
    encro
        95
    encro  
       249 天前
    @luyluy

    换成.net 就不存在资料太少了。。。

    .net 不火,就 2 个原因:IDE 太大,不支持 Linux 。
    所以,现在微软:“我改不行吗?”
    所有就有了 VSCODE 和.net core 等等。。。
    leexsh31
        96
    leexsh31  
       249 天前 via iPhone
    可以看下 18 年知乎的一个分享 从 py 到 go 服务资源减少了 80%,确实不合适
    jjx
        97
    jjx  
       249 天前   ❤️ 1
    看了一下我们项目的核心代码数

    python manage.py code_lines
    file count: 1535
    count: 160060
    zagfai
        98
    zagfai  
       249 天前   ❤️ 1
    后端开发在变得精细化,golang 其实可以算是后端开发的 DSL ,在没有之前,Python 占了很大一部分发展方向,后来 API 的市场被 golang 抢占了,但你说 Py+C 是不是不行呢?也不是,只是社会环境促成了一个很专的后端方向,都用 go 了。
    我仅同意规模以上,百万级别日活以上,的后端可以切换到 golang ,在小规模试错,demo ,赶时间的研发领域,python 还是很有意义的。如果只做 golang ,就是把自己的前途锁死在写 api 。。。
    sunwei0325
        99
    sunwei0325  
       249 天前
    阿里推 java, 字节推 go, python 国内没巨头推啊
    abcbuzhiming
        100
    abcbuzhiming  
       249 天前   ❤️ 1
    @encro .net 开源的太晚,生态位都被占完了才出来,而且微软在开源界名声不太好,大家都怕微软朝三暮四
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1184 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:17 · PVG 07:17 · LAX 16:17 · JFK 19:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.