首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

Python 这语言真是混乱和原始

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

    under under method,解释器里狂塞私货 _xxx 这种私有变量, 多重继承, 抽象类居然是用包来支持的,abc.ABC ClassA.method1(ClassB),unbound method ?

    python 混乱,一点也不优雅和统一。

    第 1 条附言  ·  238 天前
    原来对 python 还是有幻想的,以为 python 是强迫症设计的语言,一定很简洁优雅,这一周有时间学 python,从头到尾系统地了解下来,这玩意简直就是补丁加补丁,层层叠叠,比 ruby 差远了。
    类库、语法糖,就是 python 不多的抓手了,
    OOP 设计是 shit,python 确实是一条蟒蛇,软软的。
    152 回复  |  直到 2018-10-12 12:08:38 +08:00
    1  2  
        101
    fyxtc   238 天前
    都是闲的,一下喷这个垃圾一下喷那个垃圾。。。语言这么多选择,自己用的不开心就换一个呗。有那么多时间还不如多深入一点自己的领域知识,真是服了
        102
    WispZhan   238 天前   ♥ 2
    同意,我今天刚刚还和朋友抱怨 Python。

    但是也无法否认 Python 的地位,比较槽点和优点是并存的。就和 Java 一样,槽点和优点都是那么明显。

    “世界上只有两种编程语言:整天被人喷的语言和没有人用的语言。”
        103
    reus   238 天前   ♥ 3
    @XIVN1987
    王垠这种人的话,能听?
    读书半途而废
    工作半途而废
    yin 语言半途而废
    那个什么教程半途而废
        104
    easylee   238 天前
    @reus 您说的这些更让我明白,世界太残酷,天才没出路。
        105
    Yourshell   238 天前 via iPhone
    看到这么多人喷 asyncio 我就放心了。不过就说 Python,张嘴就喷真的好么,好歹写个博文论证一下啊,我比较菜看不出个一二三来,希望各位大神写两篇科普一下,谢谢。
        106
    Wincer   238 天前 via Android
    喷 asyncio 不好用的可以试试 curio
        107
    DavidNineRoc   238 天前
    大家不要吵了,听我一句劝。
    是的,有什么不好的都把锅甩给 PHP 吧!
    都没人说,那我就说了!!!
    PHP 是世界上最好的语言!!!
        108
    justff   238 天前
    @DavidNineRoc 我同意,PHP 是世界上最好的语言
        109
    ViceP   238 天前
    PHP 是世界上最好的语言!
        110
    kawkeye   238 天前
    @ViceP 胡说 bhb 才是世界上最好的语言
        111
    keysona   238 天前
    一直觉得 python 的协程很难用....

    ----

    真要用协程,我选择 go....
        112
    keysona   238 天前
    没有一门语言生来完美的。

    其他不也是修修补补。我个人觉得这不是喷点。

    ---

    它是可以简洁优雅的,不过考验功力。

    flask 的源码看得很舒服。
        113
    iConnect   238 天前
    连 Flask 的作者都说没看懂 asyncio
        114
    cenqingbo   238 天前
    PHP 是世界上最好的语言
        115
    YvesX   238 天前
    现在回头看 Zen of Python,感想就是:想得美。
        116
    CSM   238 天前
    看到标题我以为大家都会怼楼主,没想到这么多人赞同
    ---

    曾经对 asyncio 抱有幻想,但最近越来越发现难用,各种清理工作很难正确进行,后台协程中抛出的异常不特别注意就忽略掉了等等
        117
    zwh2698   238 天前 via Android   ♥ 2
    1.python 早期 主要为了替代那些事物型 c/c++那些人要处理的问题,因为 c 的复杂性,很多人真的很纠结。
    2.python 借鉴了三代语言的特点,提升了开发效率,而且一直在丰富,不错。
    3.python 语言设计这个真的需要王垠这种大牛进行分析。我觉得其他人造诣根本不够。
    4.python 语言分析,解释器核心代码确实写的不错。但是其他外围那些支持动态库真的不怎么样。我曾经修改过部分 Python 源码,切身体会。
        118
    itfanr   238 天前 via Android
    学 go 吧
        119
    chengxiao   238 天前
    @waterlaw
    Instagram 业余吗?知乎业余吗?豆瓣业余吗?
    我觉得能说出这种话的人 才是真的业余
        120
    agagega   238 天前   ♥ 1
    Python 本来的定位就是短、平、糙的胶水语言,很多东西写起代码也就是平铺直叙,没经过什么特别的设计。在很多 C++ 的大型项目中充当编译辅助脚本的角色。

    什么「人生苦短,我用 Python 」这种话,就跟「 Ruby 让程序员爱上它的工作」「 JavaScript 统治世界」一样,社区营销而已。针对 Python 库多和脚本语言的特性说这句话并没什么特别的,同样我也可以说人生苦短,我用 Ruby、JavaScript、Perl,乃至 Go、Swift ……

    Python 确实很火,但把这个语言吹上天的,开个地图炮吧,大概就是那些其他专业过来想搞 AI、Web 什么的,大学里专业可能也只学过一点点 C、VB,突然发现有这个东西然后惊为天人的……嗯这话对于一部分搞所谓「算法」的研究生也适用。我认为一个有足够知识的程序员 /工程师在编程语言这件事上面,是不会一叶障目的。
        121
    ddzzhen   238 天前 via Android
    优雅还强迫症?哈哈,你很强迫,所以请远离 python。
    李白和杜甫的诗句格格不入
        122
    Wicked   238 天前   ♥ 1
    每门流行的语言自有它适用的地方,存在就是合理。我觉得你用一门语言,至少正儿八经写过一个适用这门语言的项目,才能比较了解这门语言的特性,才有发言权。动不动就说“ xx 是垃圾”,只会显得很幼稚...
    猪场的游戏大多都是用 Python 写的,项目说大不大,但也绝对不算小了,不也运行得好好的?
    Blender 也是用 Python 写的,3D Max 的开源替代,非常好用,了解一下?
        123
    bucky   238 天前   ♥ 5
    @reus 这话说的,最起码王垠有半途而废的能力,而且人家的半途对大多数人来说人生的终点都达不到
        124
    jiangnanyanyu   238 天前 via Android
    hacknews 有很长的讨论,各位可以搜搜看
        125
    IMRES   238 天前 via iPhone
    弱类型语言流行起来后都是一地鸡毛
        126
    inframe   238 天前 via Android
    任何计算机语言是为了解决一定问题
    脱离这个现实约束讨论
    毫无意义
        127
    dartabe   238 天前
    @agagega 在大学里作为免费的科学计算工具替代 matlab 不是挺好的嘛 有啥好喷的
        128
    ruoyu0088   238 天前
    本来以为楼主是大牛,正在构思优雅,统一的理想中的语言。结果一看附言,拿 Ruby 当个宝。
        129
    zhangpeter   238 天前
    @tlday
    python 协程可以看我的文章
    https://github.com/zhang0peter/python-coroutine
        130
    jxl   238 天前 via iPhone
    @laike9m == sry 搞反 @tyfulcum 动态和弱不是相对的吧
        131
    q397064399   238 天前
    解决问题就好了,用来搞短平快 快糙猛的玩意 你指望它建摩天大厦?
        132
    lihongjie0209   238 天前
    @dacapoday #65 这是优点? 你返回一个 map 你让调用者怎么处理? 靠猜? 靠文档? 这些都是靠不住的, 所以 Java 用编译器来发现这些问题.
        133
    barbery   238 天前
    我就知道 PHP 要躺枪了
        134
    Phishion   237 天前
    Python 永不为奴!!!
        135
    railgun   237 天前
    @chenqh 说得好,但是最好的语言是 PHP
        136
    laike9m   237 天前 via Android   ♥ 1
    @IMRES 连 Python 是强类型都不知道就不要指点江山了吧
        137
    laike9m   237 天前 via Android
    @jxl Python is strongly and dynamically typed.
    用英文不容易有歧义。
        138
    edwinxe2v   237 天前
    用可读性和结构性极强的 Pascal 系(Delphi/Lazarus)的飘过。

    这些年学过或者用过 VB、C#、Python、C++、PHP 和 JavaScript,最喜欢的还是已经变得有点没落的大 Delphi。

    随着上个月免费的 Community Edition 的退出,希望她的占有率能重新有点起色吧,而且希望背后的公司不久的将来把 for Linux 的支持也放到免费社区版去。
        139
    jxl   237 天前 via iPhone
    @laike9m 我知道啊 是搞反了 弱类型 说的是 java go
        140
    secondwtq   237 天前   ♥ 1
    @Wicked Blender 这个例子举的真是 ...
    首先除了 Web 开发等少数领域之外,其他很多圈子的开源之路甚至不能说刚刚开始,Blender 现在也就算刚露个头,好用不好用是很主观的事情
    另外你去看 Blender 的 GitHub repo,Python 代码连 5% 都不到 ... 这种数据量巨大的东西没有哪个傻瓜会全用 Python 写的
    有一点倒是没错,就是 VFX 圈子现在很流行 Python + Qt 的组合,不过包括 Blender 在内,主要都是写个脚本和界面完善工作流而已,这个和 MS Office 内嵌 VBA,AI 流行 Python 是一样的道理。写这些的人并不是专业的程序员,只不过顺手写两段而已

    核心代码全都是 C 和 C++。
        141
    Qzier   237 天前 via iPhone
    先入为主?后面的都是垃圾?
        142
    nicoljiang   237 天前
    @kisnows 双击标题栏放大,了解一下。
        143
    kisnows   237 天前
    @nicoljiang #142 你自己去试试就知道了,不是所有情况下双击标题栏都会窗口最大化的。
        144
    nicoljiang   237 天前   ♥ 1
    @kisnows 嗯哼。我用了这么久的感受基本都可以,不可以的大概可以分两种情况。

    一种可能是支持不好,比如:
    1、微信,用了「不标准的视窗」,但又没有单独支持(同样使用不标准视窗的 QQ 和 QQ 音乐 就可以);

    一种是软件本身刻意为之,比如:
    1、QQ 音乐(跟微信一样,但有特别支持),双击标题栏只能缩放高度,因为这软件就不让你调宽度。
    2、文件管理器(访达),默认情况下双击标题栏默认可以放大缩小,但是当你手动调整过大小之后,双击标题就变成「默认大小」和你「手动调整大小」之间的切换。

    再顺带一提:在高度、宽度均可调整的视窗种,一般情况下除了可以双击「标题栏」放大缩小之外,还可以双击视窗的「四个边界」,可以做到「自动单边放大顶边」(虽然不能双击再缩小)。

    以上是我的大致总结,你也可以试一下。
        145
    reus   236 天前
    @bucky 所以大多数人就应该当他说的话是放屁啊
        146
    Wicked   236 天前 via iPhone
    @secondwtq 确实没有看过 blender 的 repo,想来 cpp 占主体也是合理的。用 python 的好处是,撸个插件很容易。此外,用 pyqt 写工具也是很愉快的体验
    你举的例子,在我看来都很正面…这就是我所说的,语言要用在合适的地方。
    但比较不认同的是“写这些的人并不是专业的程序员”,所有 python 程序员都被你地图炮了…
        147
    secondwtq   236 天前
    @Wicked 这里我说的不是很清楚,其实指的是在特定领域的特定人群,不好意思。

    我 po 这一段的目的也是给大伙说明一下 Python 在主流视野之外的一些具体应用,并无地图炮之意。
        148
    jhdxr   235 天前
    @chengxiao 你说的是那个成天服务器提了一个问题的知乎吗?嗯,的确挺专业的。 ←_←
        149
    chengxiao   235 天前
    @jhdxr 那你觉得 v2 专业不专业呢?
        150
    mingyun   227 天前
        151
    gowk   189 天前
    以前被 Zen of Python,Pythonic 忽悠的不要不要的。现在想想,正因为原始和混乱,所以才出现了 PEP 8,The Zen of Python,以前奉为圭臬的东西原来是不值得追捧的。但这不妨碍 Python 好用,工程上当然是适合什么就用什么,但就是对 Python 喜欢不起来了,所以我套用一句,“人生苦短,爱我所爱”。
        152
    gowk   189 天前
    https://twitter.com/mattmillr/status/1050477727743127552: The more I write in #golang, the dirtier I feel about every line of #python I've ever written. That doesn't mean I'll stop writing dirty, dirty #python.
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2406 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 03:01 · PVG 11:01 · LAX 20:01 · JFK 23:01
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1