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
Cyanhall
V2EX  ›  Python

你们怎么看现在 Python 的发展方向?

  •  3
     
  •   Cyanhall ·
    Cyanhall · 2021-04-16 09:53:03 +08:00 · 8090 次点击
    这是一个创建于 1351 天前的主题,其中的信息可能已经有所发展或是发生改变。

    引子 - 今天的争论:IMPORTANT: PEP 563, PEP 649 and the future of pydantic

    个人观察: Flask 作者、SQLAlchemy 作者等都不太喜欢现在的 Python 发展情况,详情见他们推特。

    个人感觉是一直加可有可无的语法糖而带来无谓的 break change 。

    57 条回复    2022-06-16 17:21:20 +08:00
    paddistone
        1
    paddistone  
       2021-04-16 10:05:03 +08:00   ❤️ 3
    通过 V2EX 看的
    TypeError
        2
    TypeError  
       2021-04-16 10:18:58 +08:00
    只加语法没前途,再不提高性能,只能转 Go 了,
    Python 也就搞搞科学计算还有优势
    sujin190
        3
    sujin190  
       2021-04-16 10:29:50 +08:00
    @TypeError #2 但是你要知道,数据科学产生的各种研究、算法、库的价值是永久的,再说性能远没有你想的那么重要,方便使用才是,就凭现在各种深度学习相关的,python 再战 50 年都绰绰有余,go 可就不好说了
    jmc891205
        4
    jmc891205  
       2021-04-16 10:32:49 +08:00
    @TypeError 高性能的场景都用 C++来解决
    xingshu1990
        5
    xingshu1990  
       2021-04-16 10:32:51 +08:00
    @sujin190 #3 性能这个东西 也不能武断的说不需要,本身可以有办法将 1 个小时的工作,缩减到 30 分钟内,虽然看起来没太大影响,但是本身代码编写就已经很方便了,性能稍微提升一些,做一些对性能要求并不高的操作,也是没太大问题。
    Vegetable
        6
    Vegetable  
       2021-04-16 10:39:53 +08:00
    pydantic 作者提到说理事会还有成员昨天之前没听过 pydantic 是什么,说实话这有点离谱了

    学习一下「从群众中来,到群众中去」
    sujin190
        7
    sujin190  
       2021-04-16 10:43:45 +08:00
    @xingshu1990 #5 不是不需要,是没你想的那么重要,对于 python 来说,简洁简单和更好性能来选择,那肯定选前者,再说对于 python 来说,数据科学、人工智能、科研实验才是它的未来,就像深度学习,你性能再高能比得过专业团队设计的运行框架么,比得过专门设计的神经网络芯片么,所以讲究啥性能,让各教授大佬研究生快速入门把他的想法实现出来才是正理
    arischow
        8
    arischow  
       2021-04-16 10:45:32 +08:00
    一定程度上没有好爹,社区自治体制下的结果。

    然后就是使用的群体目的比较分散。
    threebr
        9
    threebr  
       2021-04-16 10:46:06 +08:00
    Python 唯一让我迷惑的就是 CPython 实现下为什么要加个线程间的全局锁?这不是自废武功么。不然性能可以提升一大截
    abersheeran
        10
    abersheeran  
       2021-04-16 10:46:39 +08:00   ❤️ 1
    我觉得这个 PEP 还真不应该撤回。它解决了两个痛点,第一是 typing 模块拖慢 Python 运行速度,一份满满都是 type hint 的 Python 代码远比啥也不加的要慢。第二个是取消了类型注释的运行时影响,在我编写代码的时候,我不喜欢写 Any,所以经常遇见一个类方法 /属性返回另一个类,而另一个类里也有方法 /属性返回这个类,而这两个类又是不同功能,放在不同模块的,从而导致循环引入问题。最重要的是,它终于实现了 typing 一开始的承诺——无运行时影响。运行时影响本身就是一个实现上的 BUG 。

    pydantic 作者反对,大概是因为代码写好了不愿意动(他最近也挺忙的),我十分理解他的心情。但 fastapi/starlette 就算了吧,代码里面多少 Any 看过的人都有数,这个 pep 对它来说就是可有可无。

    ---

    楼上说到性能,社区现在也有使用 type hint 作为元信息进行编译加速的,虽然还是个半成品,但也在发展了。而且据说 Python Core Developers 也在筹措 CPython JIT 的事。

    我倒觉得与其炮轰这个,不如让那些家伙别再加语法糖了,把精力放在 JIT 上不好吗。
    15399905591
        11
    15399905591  
       2021-04-16 10:51:07 +08:00   ❤️ 1
    python 目前感觉是四面开花, 按现在的情况来看,后续发展方向肯定是往科学运算方向了,web 方向不管是 go 还是 java,感觉都比 python 更有前途。
    est
        12
    est  
       2021-04-16 10:51:58 +08:00   ❤️ 1
    这个都怪 Guido 放弃治疗吧。https://twitter.com/gvanrossum/status/773593466609610753

    2016 年以后 py 核心功能一直是走下坡路的
    est
        13
    est  
       2021-04-16 10:54:20 +08:00
    看到这在喷 Larry Hastings 。感觉不应该啊。Larry 是 Gilectomy 作者,努力去掉 GIL 的。
    whileFalse
        14
    whileFalse  
       2021-04-16 10:57:45 +08:00
    我想知道大部分 Python 用户是用它来干什么?

    如果大量用户只是写写小工具、科学计算,可能并不关心这些有的没的吧。科学计算可能对性能稍微敏感。然后现在 Python 性能烂的一 B,不知道算不算现代主流编程语言里最慢的?(虽然作为小工具用户我也不 care 性能……)
    Mithril
        15
    Mithril  
       2021-04-16 11:03:06 +08:00
    Python 现在用的最多的是科研这帮人吧,真的有人会很在乎它的性能?各种框架里面涉及到性能的基本都 C++走起了。Python 实际上就是张草稿纸。
    除了有的公司不讲究直接把草稿纸扔给客户发布了,不然做到产品里的都会重构一遍吧?
    lewinlan
        16
    lewinlan  
       2021-04-16 12:18:45 +08:00 via Android
    python: 我只考了 30 分
    pydantic: 我让 python 提升到 50 分了!我超牛逼!
    cmdOptionKana
        17
    cmdOptionKana  
       2021-04-16 12:23:46 +08:00   ❤️ 1
    其实 python 发展方向一直都是正确的,就是作为胶水语言,这方面 python 无敌。
    Mohanson
        18
    Mohanson  
       2021-04-16 12:45:37 +08:00 via Android   ❤️ 2
    py 失去独裁者 guido 后就一直在加速加 feature, 已经不再关注这门语言了,个人感觉已经处在衰落期

    go 所有语法官方一页 markdown 就结束了,py 各种语法糖黑魔法多的要写一本书。(应该真的有一本书叫做 py 黑魔法,好像 10 来年前曾经看过有点映象…
    tmac33
        19
    tmac33  
       2021-04-16 12:49:57 +08:00   ❤️ 1
    少儿编程,首选
    fushallg
        20
    fushallg  
       2021-04-16 12:53:34 +08:00
    怕了,以后还要靠 python 吃饭,结果看你们说 python 似乎不太行了
    Aprilming
        21
    Aprilming  
       2021-04-16 13:36:42 +08:00
    我选择的是 python 在没前途的道路-web 开发,我都没绝望,怕毛,性能不行,但是我开发速度快啊,还尼玛快的离谱!
    love
        22
    love  
       2021-04-16 13:57:03 +08:00   ❤️ 1
    连我这种前 Python 粉都转 typescript 了,至少写 web 应用 python 已经被 node 甩飞了
    seven123
        23
    seven123  
       2021-04-16 14:02:29 +08:00   ❤️ 1
    3 年 python 转 java 了
    zhujq
        24
    zhujq  
       2021-04-16 14:35:03 +08:00
    python 转了 java 又转了 go
    THP301
        25
    THP301  
       2021-04-16 14:35:56 +08:00
    语法糖语言就这样
    Jirajine
        26
    Jirajine  
       2021-04-16 14:45:11 +08:00 via Android
    科学计算 Julia,运维脚本 deno,web 后端 Ruby/Crystal,嵌入脚本 Lua,感觉都比 Python 舒服。
    wunsch0106
        27
    wunsch0106  
       2021-04-16 15:27:13 +08:00
    @Aprilming 老哥,py web 开发做多久了,我刚毕业一年不到,也是 web 开发的,现在想转 go 了。有点迷茫,py web 开发上限是多少,普遍的来说,20k 能到吗
    neutrinos
        28
    neutrinos  
       2021-04-16 15:31:56 +08:00 via iPhone   ❤️ 1
    @threebr 当初引入的时候是因为 GC 算法限制,后来解决了,但是 1. 去掉后单线程性能下降 2. 去掉后无法解决第三方 C 线程安全问题
    so1n
        29
    so1n  
       2021-04-16 15:32:30 +08:00
    突然发现依赖 pydantic 的框架很好解决这些问题, 难解决问题的是 pydantic 本身, 我自己的框架依赖于 pydantic, 然后通过这样改就可以解决问题了:https://github.com/so1n/pait/commit/64b57a60f9f1dab45a0ae28e3ed967e6cb6f5714#diff-79b67720f2fb8e67e5cd72f33abf0e4f805aba843537b59dcbbcdeb1aa6fdfa5L67
    Aprilming
        30
    Aprilming  
       2021-04-16 15:37:14 +08:00
    @wunsch0106 #27 18 年毕业,现在 20k 不到,如果跳一次槽,20k 应该是轻轻松松(上海地区啊),python web 的上限多少我也不知道,我师傅也是 python web, 研发主管,40k 差点意思。主要是单纯做 web 估计够呛,我现在算是半个全栈(当然不会 css 啦!)
    wunsch0106
        31
    wunsch0106  
       2021-04-16 15:49:29 +08:00
    @Aprilming 现在公司的项目难度不是特别大, 也没高并发啥的。 想问问看,你们公司高并发分布式微服务等用的多吗。感谢老哥回答
    Aprilming
        32
    Aprilming  
       2021-04-16 16:03:39 +08:00
    @wunsch0106 #31 没有,我们的业务并发不高,但是我们要用到私有云,搞起来就很难受。
    chenqh
        33
    chenqh  
       2021-04-16 16:09:45 +08:00
    有时候很好奇为什么 php 能性能优化那么多? ruby 也可以,但是 ruby 就不可以
    chenqh
        34
    chenqh  
       2021-04-16 16:10:26 +08:00
    @Aprilming 大佬 NB,我已经绝望了
    James369
        35
    James369  
       2021-04-16 16:12:34 +08:00
    @Aprilming #30 不错,哪个城市的水平
    Aprilming
        36
    Aprilming  
       2021-04-16 16:26:13 +08:00
    @James369 #35 我在上海,我师傅在南京。
    Aprilming
        37
    Aprilming  
       2021-04-16 16:26:35 +08:00
    @James369 #35 我不是大佬,我好菜的。我师父才是大佬。
    luofan004
        38
    luofan004  
       2021-04-16 16:32:31 +08:00
    python 有自己的应用场景吧,包括 web 方向,再说程序语言到最后都是互通的,只要一直在进步,最后不都是一致的。
    princelai
        39
    princelai  
       2021-04-16 16:52:40 +08:00
    @Jirajine #26 我工作是 python 机器学下相关,曾经很迷恋 julia,觉得性能太棒了,但是学了 1 年后,才发现是鼓吹的人多,真在用的人太少了,想要把 julia 写好,小技巧真的太多了,入门水平写出的东西也就和 numpy/pandas/sklearn 这些持平甚至更差点,更不用说 tensorflow/pytorch 这些生态了,科学计算追上 python 再等 10 年吧。
    Jirajine
        40
    Jirajine  
       2021-04-16 17:55:56 +08:00 via Android
    @princelai 我只是说比 Python 舒服,毕竟是一门从最开始就为科学计算设计的语言。
    Python 的一个大问题是对函数式太不友好了。
    onice
        41
    onice  
       2021-04-16 22:03:50 +08:00
    我搞安全的,用 py 写安全工具,挺香的。
    我也写 web,py 开发速度也很快。目前对 py 很满意。py 几乎是万能的。
    abersheeran
        42
    abersheeran  
       2021-04-16 22:40:36 +08:00
    @Jirajine https://aber.sh/articles/How-to-writing-functional-Python/ 一点我写函数式 Python 的心得。我不觉得有不友好,可能是我和你的使用习惯不一样,你可以看一看我的以作参考。
    inframe
        43
    inframe  
       2021-04-16 23:22:37 +08:00
    快速原型搭建上,我觉得 python 是最快的语言和最充分的生态圈
    levelworm
        44
    levelworm  
       2021-04-17 01:00:02 +08:00
    最烦的就是往上不停的堆东西。其中堆函数编程得最烦。
    domodomo
        45
    domodomo  
       2021-04-17 03:59:01 +08:00
    10 年前的标题是“你们如何看待 Perl 的发展方向?”
    我估计有人就没听说过 Perl 吧,这就是历史呀。
    rinsingw
        46
    rinsingw  
       2021-04-17 09:38:49 +08:00
    @Aprilming 大佬开课吗?想学 python
    hangszhang
        47
    hangszhang  
       2021-04-18 09:10:35 +08:00
    当脚本,写小工具用
    agagega
        48
    agagega  
       2021-04-18 09:43:36 +08:00 via iPhone
    原来语言 feature 太多也会被吐槽,我想知道 Go 的粉丝怎么看待 Swift/Rust ?
    jones2000
        49
    jones2000  
       2021-04-18 11:15:37 +08:00
    @threebr 都用 CPython 了,当然所有的计算的东西都放在 c++里面完成了. 在 c++内部你可以自己开并行或多线程, 外部 py 只负责传数据和接收结果就可以了. c++和 py 交互尽量少, 影响效率.
    DeWjjj
        50
    DeWjjj  
       2021-04-18 18:24:18 +08:00
    python 挺好的,至少在就目前而来很长一部分时间都会是创业团队首选之一。
    反而 go 这样的大型项目都当组件的语言,如果再不动动反而觉得不好。
    no1xsyzy
        51
    no1xsyzy  
       2021-04-19 12:54:32 +08:00   ❤️ 1
    @domodomo 而且官网还被劫持了。是劫持,不是 DNS 污染(你们不要再混淆了),而是域名的所有权被人非法转移了。
    https://www.solidot.org/story?sid=67065
    binpo
        52
    binpo  
       2021-04-22 14:27:25 +08:00
    @wunsch0106 换不换工作
    欢迎私聊
    wx:15397008337
    binpo
        53
    binpo  
       2021-04-22 14:28:22 +08:00
    @onice 哥们换工作不
    wunsch0106
        54
    wunsch0106  
       2021-04-22 16:27:50 +08:00
    @binpo 余杭哪啊
    leven87
        55
    leven87  
       2021-04-23 12:47:52 +08:00
    挺好的呀,我在欧洲读书的时候, 学校里面做数据处理,深度学习 python 是必会的,可以说几乎所有的工科生都是必会 python 的。 而且 python 也可以做 web, 挺好的。
    binpo
        56
    binpo  
       2021-05-12 10:17:14 +08:00
    @wunsch0106 滨江,长河
    Lighthughjiajin
        57
    Lighthughjiajin  
       2022-06-16 17:21:20 +08:00
    @Aprilming 大佬方便透露 v 吗,一起学习
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4531 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 05:36 · PVG 13:36 · LAX 21:36 · JFK 00:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.