c*****e 发帖数: 3226 | 1 1)最tmd 痛恨python 的就是动态binding,写完程 序,一运行一堆错,改起来花老时间
。而且没 运行到的地方可能也错,只是没发现而已。
不像别的语言编译错误解决,程序基本上就工作 了。
不知道各位如何解决的?
2)还有一个问题是没法维护,要是那个混蛋在一个 角落偷偷的加一个属性,你疯了也
不明白怎么 出了这个变量。
3) api 定义完全靠文档。
def x( foo, apple) 这些参数是个什么东西,又那些特性?我怎么知道?
4) threads 支持太差 |
d**o 发帖数: 864 | 2 1.最讨厌,所以用Python写大一点的程序很难,而且一定程度上使得python重复使用性
其实
很糟糕。只得通过大量的类型判断,unittest来使得程序稳定。
3. 通过docstring来...其实还是挺喜欢docstring的
4. 还行吧
【在 c*****e 的大作中提到】 : 1)最tmd 痛恨python 的就是动态binding,写完程 序,一运行一堆错,改起来花老时间 : 。而且没 运行到的地方可能也错,只是没发现而已。 : 不像别的语言编译错误解决,程序基本上就工作 了。 : 不知道各位如何解决的? : 2)还有一个问题是没法维护,要是那个混蛋在一个 角落偷偷的加一个属性,你疯了也 : 不明白怎么 出了这个变量。 : 3) api 定义完全靠文档。 : def x( foo, apple) 这些参数是个什么东西,又那些特性?我怎么知道? : 4) threads 支持太差
|
c*****e 发帖数: 3226 | 3 docstring 不是enforced 的吧,要是不写或者写的和真用的有歧义,那就傻眼了。
【在 d**o 的大作中提到】 : 1.最讨厌,所以用Python写大一点的程序很难,而且一定程度上使得python重复使用性 : 其实 : 很糟糕。只得通过大量的类型判断,unittest来使得程序稳定。 : 3. 通过docstring来...其实还是挺喜欢docstring的 : 4. 还行吧
|
w***g 发帖数: 5958 | 4 还有就是慢. 我用写C++核心程序做大数据处理, 本来>98%的运算量都在我这边, 费了
老大劲做优化, 结果外围python程序比我核心程序还要慢几倍, 一集成整个系统就咯屁
了, 根本没法scale up. 真是气死我了.
不过这个跟语言本身没什么关系, 就是解释器太烂.
【在 c*****e 的大作中提到】 : 1)最tmd 痛恨python 的就是动态binding,写完程 序,一运行一堆错,改起来花老时间 : 。而且没 运行到的地方可能也错,只是没发现而已。 : 不像别的语言编译错误解决,程序基本上就工作 了。 : 不知道各位如何解决的? : 2)还有一个问题是没法维护,要是那个混蛋在一个 角落偷偷的加一个属性,你疯了也 : 不明白怎么 出了这个变量。 : 3) api 定义完全靠文档。 : def x( foo, apple) 这些参数是个什么东西,又那些特性?我怎么知道? : 4) threads 支持太差
|
E*****m 发帖数: 25615 | |
p*****2 发帖数: 21240 | 6 我不太喜欢python的C语言的风格。感觉python的OO比较怪异,没有ruby舒服。不过我
还没想明白为什么python这么流行,除了上手容易这个原因以外。 |
n******t 发帖数: 4406 | 7 Battery included.
【在 p*****2 的大作中提到】 : 我不太喜欢python的C语言的风格。感觉python的OO比较怪异,没有ruby舒服。不过我 : 还没想明白为什么python这么流行,除了上手容易这个原因以外。
|
c*****e 发帖数: 3226 | 8 人在江湖身不由己,一堆狗屎软件要维护。
【在 E*****m 的大作中提到】 : 那就別用python,生命苦短,別折騰。
|
d***a 发帖数: 13752 | 9 看好的一面,对程序员的需求增大了。
【在 c*****e 的大作中提到】 : 人在江湖身不由己,一堆狗屎软件要维护。
|
b*****m 发帖数: 77 | 10 讨厌这家伙,看起来跟个玩具一样
【在 c*****e 的大作中提到】 : 1)最tmd 痛恨python 的就是动态binding,写完程 序,一运行一堆错,改起来花老时间 : 。而且没 运行到的地方可能也错,只是没发现而已。 : 不像别的语言编译错误解决,程序基本上就工作 了。 : 不知道各位如何解决的? : 2)还有一个问题是没法维护,要是那个混蛋在一个 角落偷偷的加一个属性,你疯了也 : 不明白怎么 出了这个变量。 : 3) api 定义完全靠文档。 : def x( foo, apple) 这些参数是个什么东西,又那些特性?我怎么知道? : 4) threads 支持太差
|
|
|
t****a 发帖数: 1212 | 11 There is no silver bullet. everything in CS is trade off.
动态语言确实没有静态语言容易维护,不过它写起来要快的多,舒服的多。
当然,接手的人可能会很不舒服~
【在 c*****e 的大作中提到】 : 1)最tmd 痛恨python 的就是动态binding,写完程 序,一运行一堆错,改起来花老时间 : 。而且没 运行到的地方可能也错,只是没发现而已。 : 不像别的语言编译错误解决,程序基本上就工作 了。 : 不知道各位如何解决的? : 2)还有一个问题是没法维护,要是那个混蛋在一个 角落偷偷的加一个属性,你疯了也 : 不明白怎么 出了这个变量。 : 3) api 定义完全靠文档。 : def x( foo, apple) 这些参数是个什么东西,又那些特性?我怎么知道? : 4) threads 支持太差
|
m********2 发帖数: 89 | 12 " 别的语言编译错误解决,程序基本上就工作 了"
基本就工作了跟工作了还差多少?
要比的话应该是tests+develop一起比吧? 至少要算上unittest吧?
【在 c*****e 的大作中提到】 : 1)最tmd 痛恨python 的就是动态binding,写完程 序,一运行一堆错,改起来花老时间 : 。而且没 运行到的地方可能也错,只是没发现而已。 : 不像别的语言编译错误解决,程序基本上就工作 了。 : 不知道各位如何解决的? : 2)还有一个问题是没法维护,要是那个混蛋在一个 角落偷偷的加一个属性,你疯了也 : 不明白怎么 出了这个变量。 : 3) api 定义完全靠文档。 : def x( foo, apple) 这些参数是个什么东西,又那些特性?我怎么知道? : 4) threads 支持太差
|
l*********s 发帖数: 5409 | 13 ^__^, 有道理
【在 m********2 的大作中提到】 : " 别的语言编译错误解决,程序基本上就工作 了" : 基本就工作了跟工作了还差多少? : 要比的话应该是tests+develop一起比吧? 至少要算上unittest吧?
|
J*****n 发帖数: 4859 | 14 去用C#吧
包你满意。
下一个Mono,就可以在Unix下面跑了。 |
p*****2 发帖数: 21240 | 15
用C#找个好工作老费劲了。最好还是不碰。当然从语言层面来讲还是可圈可点的。
【在 J*****n 的大作中提到】 : 去用C#吧 : 包你满意。 : 下一个Mono,就可以在Unix下面跑了。
|
J*****n 发帖数: 4859 | 16
据我和几个朋友的沟通,C#从语言上,其实比JAVA要好。IT圈的人似乎不太待见微软的
东西,不过很多finance的人开始用这个了。
【在 p*****2 的大作中提到】 : : 用C#找个好工作老费劲了。最好还是不碰。当然从语言层面来讲还是可圈可点的。
|
p*****2 发帖数: 21240 | 17
从语言上来说确实比Java好,但是感觉到了Java,C#这个层次来讲,这个因素影响力其
实很小了。
【在 J*****n 的大作中提到】 : : 据我和几个朋友的沟通,C#从语言上,其实比JAVA要好。IT圈的人似乎不太待见微软的 : 东西,不过很多finance的人开始用这个了。
|
w****k 发帖数: 6244 | 18
这个都一样,c,java还有一堆类型错误,烦死你。
you don't have code review?
这个也是各个语言都一样,self-explanary code,和语言无关。只和写程序的人相关。
readability上来说,python比其它大多语言强很多了。因为内在提供了很多强大数据
结构,加上简洁的语法。
这个是事实。除非迫不得已,用multi-process很多好了。
【在 c*****e 的大作中提到】 : 1)最tmd 痛恨python 的就是动态binding,写完程 序,一运行一堆错,改起来花老时间 : 。而且没 运行到的地方可能也错,只是没发现而已。 : 不像别的语言编译错误解决,程序基本上就工作 了。 : 不知道各位如何解决的? : 2)还有一个问题是没法维护,要是那个混蛋在一个 角落偷偷的加一个属性,你疯了也 : 不明白怎么 出了这个变量。 : 3) api 定义完全靠文档。 : def x( foo, apple) 这些参数是个什么东西,又那些特性?我怎么知道? : 4) threads 支持太差
|
p*****2 发帖数: 21240 | 19
关。
python的threading主要有什么问题呀?貌似很多脚本都不支持threading吧?比如ruby
, node.js?
【在 w****k 的大作中提到】 : : 这个都一样,c,java还有一堆类型错误,烦死你。 : you don't have code review? : 这个也是各个语言都一样,self-explanary code,和语言无关。只和写程序的人相关。 : readability上来说,python比其它大多语言强很多了。因为内在提供了很多强大数据 : 结构,加上简洁的语法。 : 这个是事实。除非迫不得已,用multi-process很多好了。
|
p*****2 发帖数: 21240 | |
|
|
E*****m 发帖数: 25615 | 21 你覺得那些狗屎軟件作者都不知道python 是這樣的語言?
【在 c*****e 的大作中提到】 : 人在江湖身不由己,一堆狗屎软件要维护。
|
s********k 发帖数: 6180 | 22 python有GIL的问题,不过Python3.0以上已经解决了这个问题,再说python还有
multiprocess的支持。说实话,用到multithreading的地方真不适合python,底层直接
用pthread就好了。如果做Application的并发,multithreading本来就不算一个很好的
选项,python这么多好的库,比如twisted之类的event based,或者直接用yield做
corouting,比起多线程都要好得多
ruby
【在 p*****2 的大作中提到】 : 看了一下有一个GIL
|
p*****2 发帖数: 21240 | 23
跟node.js比呢?
【在 s********k 的大作中提到】 : python有GIL的问题,不过Python3.0以上已经解决了这个问题,再说python还有 : multiprocess的支持。说实话,用到multithreading的地方真不适合python,底层直接 : 用pthread就好了。如果做Application的并发,multithreading本来就不算一个很好的 : 选项,python这么多好的库,比如twisted之类的event based,或者直接用yield做 : corouting,比起多线程都要好得多 : : ruby
|
s********k 发帖数: 6180 | 24 我不熟悉node.js,不比较了。据说linkedin用它直接可以把10台服务器做的事情压缩到
一台,也很牛逼,不过我觉得不只是语言牛逼,而是处理问题方法变了。应该说event
based的处理代替multithreading在Application层面算是大势所趋吧。这个我觉得跟语
言无关,高性能web 服务即便C也是epoll之类的比pthread用的多了。python有twisted
的这样的库支持。node.js好像全是event driven的。二爷你熟悉的scala不是也不是
multithreading的吗?
【在 p*****2 的大作中提到】 : : 跟node.js比呢?
|
p*****2 发帖数: 21240 | 25
event
twisted
嗯。node.js也不是一门语言。确实是处理问题的方式变了。
Scala的话我感觉是thread+event driven。actor可以理解为light weight thread吧。
node.js相当于把一大堆actor揉在一起了。从软件工程来说actor可能更好,component
的管理也方便很多。感觉更大气。
【在 s********k 的大作中提到】 : 我不熟悉node.js,不比较了。据说linkedin用它直接可以把10台服务器做的事情压缩到 : 一台,也很牛逼,不过我觉得不只是语言牛逼,而是处理问题方法变了。应该说event : based的处理代替multithreading在Application层面算是大势所趋吧。这个我觉得跟语 : 言无关,高性能web 服务即便C也是epoll之类的比pthread用的多了。python有twisted : 的这样的库支持。node.js好像全是event driven的。二爷你熟悉的scala不是也不是 : multithreading的吗?
|
c*****e 发帖数: 3226 | 26 一个c++写的程序比python 快50倍。
【在 E*****m 的大作中提到】 : 你覺得那些狗屎軟件作者都不知道python 是這樣的語言?
|
E*****m 发帖数: 25615 | 27
你覺得別人都不知道這個嗎?
【在 c*****e 的大作中提到】 : 一个c++写的程序比python 快50倍。
|
s********k 发帖数: 6180 | 28 好像看到过apache和nginx的区别,一个per thread,一个event based的,并发性能和
内存消耗天差地别。这个就是思想的转变
component
【在 p*****2 的大作中提到】 : : event : twisted : 嗯。node.js也不是一门语言。确实是处理问题的方式变了。 : Scala的话我感觉是thread+event driven。actor可以理解为light weight thread吧。 : node.js相当于把一大堆actor揉在一起了。从软件工程来说actor可能更好,component : 的管理也方便很多。感觉更大气。
|
c*****e 发帖数: 3226 | 29 who cares? 又不在公司做一辈子,后面接手的差搽屁股。
【在 E*****m 的大作中提到】 : : 你覺得別人都不知道這個嗎?
|
w****k 发帖数: 6244 | 30 很多场合程序的performance是次要考虑因素
【在 c*****e 的大作中提到】 : 一个c++写的程序比python 快50倍。
|
|
|
E*****m 发帖数: 25615 | 31
you do. it looks like.
【在 c*****e 的大作中提到】 : who cares? 又不在公司做一辈子,后面接手的差搽屁股。
|
p**o 发帖数: 3409 | 32 “python有GIL的问题”——具体指什么问题?
“不过Python3.0以上已经解决了这个问题”——具体“解决”了什么问题?怎么“解
决”的?
【在 s********k 的大作中提到】 : python有GIL的问题,不过Python3.0以上已经解决了这个问题,再说python还有 : multiprocess的支持。说实话,用到multithreading的地方真不适合python,底层直接 : 用pthread就好了。如果做Application的并发,multithreading本来就不算一个很好的 : 选项,python这么多好的库,比如twisted之类的event based,或者直接用yield做 : corouting,比起多线程都要好得多 : : ruby
|
N********n 发帖数: 8363 | 33
无解。所以我一直说这些DYNAMIC LANGUAGE都是以代码质量换开发速度的垃圾。
【在 c*****e 的大作中提到】 : 1)最tmd 痛恨python 的就是动态binding,写完程 序,一运行一堆错,改起来花老时间 : 。而且没 运行到的地方可能也错,只是没发现而已。 : 不像别的语言编译错误解决,程序基本上就工作 了。 : 不知道各位如何解决的? : 2)还有一个问题是没法维护,要是那个混蛋在一个 角落偷偷的加一个属性,你疯了也 : 不明白怎么 出了这个变量。 : 3) api 定义完全靠文档。 : def x( foo, apple) 这些参数是个什么东西,又那些特性?我怎么知道? : 4) threads 支持太差
|
s********k 发帖数: 6180 | 34 http://www.dabeaz.com/GIL/
【在 p**o 的大作中提到】 : “python有GIL的问题”——具体指什么问题? : “不过Python3.0以上已经解决了这个问题”——具体“解决”了什么问题?怎么“解 : 决”的?
|
l*********s 发帖数: 5409 | 35 there is no crappy language, only crappy coders.
【在 N********n 的大作中提到】 : : 无解。所以我一直说这些DYNAMIC LANGUAGE都是以代码质量换开发速度的垃圾。
|
m*******l 发帖数: 12782 | 36 en
【在 l*********s 的大作中提到】 : there is no crappy language, only crappy coders.
|
d****i 发帖数: 4809 | 37 严重同意,只有烂程序员,没有烂语言。动不动就去攻击某种语言的人都是吃饱了撑的
,你学不会或者人烂不会用就歇着点呗,还要来黑这黑那的,无端挑起事态。
【在 l*********s 的大作中提到】 : there is no crappy language, only crappy coders.
|
p*****2 发帖数: 21240 | 38
这个说法也过激了。
【在 l*********s 的大作中提到】 : there is no crappy language, only crappy coders.
|
N********n 发帖数: 8363 | 39
From software engineering POV, a language is crap if it doesn't check
errors statically only to let them fail at runtime and offers limited
tooling support.
【在 l*********s 的大作中提到】 : there is no crappy language, only crappy coders.
|