[OT]使用python开发的缺陷

2013-06-08 10:40:50 +08:00
 sudayly
断断续续地用了python已经有4年了,尽管python的本意是pythonic,但事实证明,python的确是够烂的。举证如下:
1. python的动态类型系统使得开发稍微大点的程序就是个灾难,编译期间没错误,而运行期间崩溃的情形到处都是;
2. python使用空白控制程序结构,非常不便于各种编辑器处理,如vim,虽然可以通过安装插件解决,但不是每台服务器主机都安装有插件的;
3. python的list处理完全是个不合格的设计,如a[a.rfind(/)]的返回结果在a有/与没有/时不一致;
4. python支持函数式编程,也支持面向对象编程,也支持XXX编程,导致编程风格完全统一不起来,当要合并其它人开发的代码时,真是头疼。
9997 次点击
所在节点    Python
55 条回复
kuphrer
2013-06-08 13:06:12 +08:00
Troll到处都有啊
yuelang85
2013-06-08 13:27:40 +08:00
@davepkxxx 缩进这个绝对是人的问题。缩进带来的好处,就是代码视觉上统一,极大提高了阅读效率。

团队中搞不定缩进,我不相信这样的团队能搞定什么。。。。
lyoe
2013-06-08 13:27:47 +08:00
LZ在哪家公司上班啊?居然让你们到服务器直接修改代码。
目测LZ是来骗分的
sudayly
2013-06-08 14:09:29 +08:00
统一回复吧。
我是做离线数据处理的,使用map reduce编程框架对数据进行处理。

现在的情况是job用c++开发,但组织job的输入输出还有配置内容的脚本是用python写的,在写这些脚本的时候碰到的这些问题。

至于我个人,平时主要用c++和java,python的确不怎么用,不过在学校里曾用其作过实验自动化与画数据图等。

这个帖子主要有两个目的,一是图謿,二是骗分。
lemayi
2013-06-08 15:02:11 +08:00
我来问下OT是个什么东西?
reorx
2013-06-08 15:07:33 +08:00
@lemayi Off Topic 的缩写,一般用在邮件列表里。楼主是来钓金币的,鉴定完毕。
swulling
2013-06-08 15:22:31 +08:00
@hooluupog unity是python写的?gnome3是python写的?gtk2是python写的?gtk3是python写的?你随便找个unity/gnome源码统计下是c++多还是python多还是javascript多
hooluupog
2013-06-08 16:02:58 +08:00
@ swulling GUI APP,GUI tookit
wodemyworld
2013-06-08 19:39:56 +08:00
1,需要类型验证的地方居然还用原生的基本类型?那就是你自己的问题了吧,输入变量怎么可以是原始类型呢,你可以自己定义类啊,真是晕死
2,在服务器上编程,你太搞笑了吧,真服了,3流的自虐程序员么
4,这跟python有个jb关系,java、.net都可以有函数式编程,风格不统一这是人的问题,你让他们统一啊,不统一就直接开了,这种屁事也能算到python头上来
bhuztez
2013-06-08 19:42:27 +08:00
+1

Static analysis of C code is useful, but if you are thinking of starting a new project, choose a sensible language! Don't start new projects in C or C++, or dynamic languages like Perl and Python which leave errors in code for customers to find.

http://people.redhat.com/~rjones/cil-analysis-of-libvirt/
zjxubinbin
2013-06-08 21:53:15 +08:00
楼主教会了我怎么获得论坛金币啊::::制造一个被喷的话题....
ipconfiger
2013-06-08 22:05:38 +08:00
虎躯一震,送五分走人。

1.世界上没有无坑的语言,只有掉坑里的程序猿。
2.目测坡主是个java程序员,或者csharp的
lddhbu
2013-06-08 22:29:09 +08:00
楼主在服务器上修改代码?是否懂什么叫流程管理、版本管理
Hyperion
2013-06-08 22:32:46 +08:00
建议LZ到cpyug邮件列表里发一帖, 效果会比在这里跟好!~
metaclass
2013-06-08 22:45:32 +08:00
目测“断断续续地用了python已经有4年了” == “断断续续地用了python已经有4天了”,每天发现一个问题,正好4个,然后上来吐槽
nil
2013-06-09 00:11:57 +08:00
求解释:
为啥方法有显性self参数
为啥len()不是方法是函数
为啥没有len()方法
为啥lambda这么残疾
为啥python能火起来。。。
jjx
2013-06-09 04:10:27 +08:00
这个就像找女朋友一下

不适合你,就不要用了, 像俺,经历了 近10种语言后,才发现python是最爱
metaclass
2013-06-09 08:14:42 +08:00
@nil

为啥方法有显性self参数 —— 你是做Java的(或者你看下Python 3)
为啥len()不是方法是函数 —— 你是做Java的
为啥没有len()方法 —— 你是做Java的
为啥lambda这么残疾 —— 你是做Java的(8也要有lambda了)
为啥python能火起来。。。 —— 你是做Java的

总结:你就是做Java的
nil
2013-06-09 16:01:32 +08:00
@metaclass python文档里面说,为啥python的对象模型没有信息隐藏?因为pythonic。。。
断言式大忽悠,洗脑专用~
真没做过java,不过python的设计和我做什么有关?
feihu
2013-06-09 16:11:51 +08:00
传说douban工程师也比较喜欢服务器上改代码,求辟谣。

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

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

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

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

© 2021 V2EX