推荐学习书目
› 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
imcj
V2EX  ›  Python

Python的哲学是要求代码简单,哪什么样的代码是不简单?

  •  
  •   imcj ·
    imcj · Mar 3, 2013 · 6679 views
    This topic created in 4995 days ago, the information mentioned may be changed or developed.
    23 replies  •  1970-01-01 08:00:00 +08:00
    Yakumo
    Yakumo
    Mar 3, 2013❤️1
    1
    比如两个版本同时使用 还没有向前兼容性
    Livid
    Livid
    MOD
    PRO
    Mar 3, 2013
    2
    Java is very complicated.
    ivanlw
    ivanlw
    Mar 3, 2013
    3
    C++ is very very complicated.
    aveline
    aveline
    Mar 3, 2013
    4
    歪个楼。

    「听好儿子,要提出目标,但不可盲目追随它」「我明白了爸爸,就像Python那样提出『只采用唯一正确的方法』那样的目标,实际上却存在2、3版本的不兼容」「住口!」「urllib和urllib2」「住口!!!」 #译自日语推
    Hualin
    Hualin
    Mar 3, 2013
    5
    你没做过复杂的事情就不会明白简单。
    SharkIng
    SharkIng
    Mar 3, 2013
    6
    我觉得这个东西很好说,比如Java里面你每个Function后面都需要用 {} ,If While的也需要,但是Python直接一个:解决问题,这个算不算简单?
    还有Python基本上来说就是纯英语堆积,If就是if,else if 就是else if ,这个也算是简单了吧
    然后就是我刚开始学Java的时候,总是忘记每句话后面的 ; 其实这个东西有时候觉得是多余的,Python就没有这个,简单了吧
    shawiz
    shawiz
    Mar 3, 2013
    7
    python 是 elif
    pepsin
    pepsin
    Mar 3, 2013
    8
    Java你写个 hello world和 Python,Ruby写个Hello World对比下你就知道了
    phuslu
    phuslu
    Mar 3, 2013
    9
    python -c "import this"

    说明了一部分。
    pppab
    pppab
    Mar 3, 2013
    10
    诸位还停留在语法的简单和不简单上,那我说haskell的函数定义比python短的多是不是它就是“简单”呢?
    clowwindy
    clowwindy
    Mar 3, 2013
    11
    我来黑一下 Python

    urllib.quote
    urllib.quote_plus

    urllib2

    socket.gethostbyname
    socket.gethostbyname_ex

    shutil.copy
    shutil.copy2
    shutil.copyfile

    os.wait
    os.wait3
    os.wait4

    os.popen
    os.popen2
    os.popen3
    os.popen4
    dndx
    dndx
    Mar 3, 2013
    12
    Python 是 community powered ,不同的人贡献同样的代码,urllib urllib2 就是很好的例子。

    Java 的高级面向对象特性的确很复杂,但是在开发复杂或者大型应用时相当有用。

    另外 Java 是 enterprise powered ,API十分统一,JVM 的性能也要比 Python 好上很多。
    sivacohan
    sivacohan
    Mar 3, 2013 via Android
    13
    软件开发通常是 快 好 省 三选二,python的哲学主要是选了快和好。
    jjx
    jjx
    Mar 3, 2013❤️1
    14
    python的库的很多问题是历史问题,没办法的,python 从来就是不温不火的发展着的

    不简单的代码,我可以举两个常见的
    几百上千的sql
    过多xml配置的代码,比方说spring的
    zhangkai_ch
    zhangkai_ch
    Mar 3, 2013
    15
    我也是最近学习了python,之前是C、C++。觉得python学会很快,但是有些语法书上好像也没讲,变化也蛮快的。代码比较灵活。
    est
    est
    Mar 3, 2013
    16
    @clowwindy 你黑的是posix。
    pppab
    pppab
    Mar 3, 2013
    17
    @dndx +1
    这里的复杂和简单应当是实现一个功能的做法是否直接(比如C语言经常用到void*,就非常fuzzy)。
    Java只是在编写的时候有些麻烦,但就语言的本质来说,清晰的接口、强制错误处理等非常的不复杂。

    上面说Java复杂的几位我看也就是写写python的script kids。
    clowwindy
    clowwindy
    Mar 3, 2013
    18
    @est 这个不能怪 posix,只能怪 Python
    FrankHB
    FrankHB
    Mar 3, 2013
    19
    @pppab Java简单?撸个Hello world还要折腾遍类名和public stupid void man的简单?没free functions得撸一堆tool classes的简单?伪劣泛型骗人的简单?到处乱扔checked exceptions的假单?脱离代码生成连个mixin都撸不了的简单?
    insraq
    insraq
    Mar 3, 2013
    20
    Python的2to3问题,还有各种丑陋的lib是一大硬伤:http://python-for-humans.heroku.com/#1
    pppab
    pppab
    Mar 3, 2013❤️1
    21
    @FrankHB 好我错了,Java不简单。只是我不知道现在我负责的这个企业项目如果不用Java会棘手到什么程度。
    meta
    meta
    Mar 3, 2013
    22
    语法上且不说,但java的编程模式就是委托、委托再委托,所以看原代码的的时候,如果不把整个系统看完,根本就搞不清楚一个类到底是干啥的。
    pepsin
    pepsin
    Mar 3, 2013
    23
    @pppab Java语法上的复杂貌似是有性能上的考量。也不奇怪。Python,Ruby这些都是短平快,就是最快完成目标,性能等做大再说。其实不好比较的。

    做简单的事,用Java费劲死了,比如写个Hello World,建个小博客啥的。看砍什么目标,用什么刀了啦。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5251 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 06:26 · PVG 14:26 · LAX 22:26 · JFK 01:26
    ♥ Do have faith in what you're doing.