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

2013-03-03 02:26:30 +08:00
 imcj
5419 次点击
所在节点    Python
23 条回复
Yakumo
2013-03-03 02:58:13 +08:00
比如两个版本同时使用 还没有向前兼容性
Livid
2013-03-03 03:04:03 +08:00
Java is very complicated.
ivanlw
2013-03-03 03:05:16 +08:00
C++ is very very complicated.
aveline
2013-03-03 04:20:37 +08:00
歪个楼。

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

说明了一部分。
pppab
2013-03-03 10:16:54 +08:00
诸位还停留在语法的简单和不简单上,那我说haskell的函数定义比python短的多是不是它就是“简单”呢?
clowwindy
2013-03-03 11:06:18 +08:00
我来黑一下 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
2013-03-03 11:16:46 +08:00
Python 是 community powered ,不同的人贡献同样的代码,urllib urllib2 就是很好的例子。

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

另外 Java 是 enterprise powered ,API十分统一,JVM 的性能也要比 Python 好上很多。
sivacohan
2013-03-03 11:17:48 +08:00
软件开发通常是 快 好 省 三选二,python的哲学主要是选了快和好。
jjx
2013-03-03 11:33:28 +08:00
python的库的很多问题是历史问题,没办法的,python 从来就是不温不火的发展着的

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

上面说Java复杂的几位我看也就是写写python的script kids。
clowwindy
2013-03-03 15:20:56 +08:00
@est 这个不能怪 posix,只能怪 Python
FrankHB
2013-03-03 15:47:49 +08:00
@pppab Java简单?撸个Hello world还要折腾遍类名和public stupid void man的简单?没free functions得撸一堆tool classes的简单?伪劣泛型骗人的简单?到处乱扔checked exceptions的假单?脱离代码生成连个mixin都撸不了的简单?
insraq
2013-03-03 15:48:46 +08:00
Python的2to3问题,还有各种丑陋的lib是一大硬伤:http://python-for-humans.heroku.com/#1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/61790

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX