[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编程,导致编程风格完全统一不起来,当要合并其它人开发的代码时,真是头疼。
10165 次点击
所在节点    Python
55 条回复
piniing
2013-06-09 16:26:59 +08:00
哈哈,楼主来搞笑的,大家不要太认真
sudayly
2013-06-09 18:34:25 +08:00
@piniing 哈哈,很多真理都是在笑话中说出来的。
sudayly
2013-06-09 18:36:40 +08:00
@feihu 非豆瓣。因为开发代码都是在集群的一台机器上开发的,测试可能又会到另外一个集群上跑,而不是每台机器上都有对应的vim插件的。
greatghoul
2013-06-09 18:41:53 +08:00
楼主太二了,必定是 Java 社区过来的。
sudayly
2013-06-09 18:44:42 +08:00
@greatghoul
一、 搞java的根本就不2;
二、 我是写过一段时间的java代码,但还是以C++为主;

你是觉得写Python代码就”高等程序员“了吗?
est
2013-06-09 18:50:58 +08:00
@nil 有self 还不好么。如果你觉得类太麻烦。别人类的方法直接拿过来就用。。。

otherClass.method(myInstance, param)

> 为啥len()不是方法是函数 为啥没有len()方法

这个是你自己学艺不精吧? obj.__len__() 不是你想要的是啥?


我个人是比较讨厌 .NET 和 Javascript 里边遍地的 .toString() 恶心死了。
greatghoul
2013-06-09 21:59:33 +08:00
@sudayly 哥们你太会误解了。

首先,我觉得楼主的确有些二,并非 java 比较二。

在社区中发布这样观点鲜明,并具有一定攻击性的话题难道不二吗?当然也可以想挣些金币。
你列举的这几点与以往争论中一些 Java 腐的观点相当一致,因此有些结论。

其实我觉得 C++ 程序员似乎应该和 Python 更亲切才是。。。

1. 运行时崩溃这种事,和静态编译什么的真心关系不大,如果是一个没有什么水准的开发人员,即便有静态检查,代码跑起来也是各种坑,动态语言让你把精力集中到业务上,而不是去检查语法。
2. 使用 Vim 无需安装任何插件也可以方便的编写 Python 代码吧,完全不存在空白符混乱的问题,楼主显示 Vim 中毒不深。
3. 这些动态语言的 list 再美不过了
4. 所以这才叫动态语言,而且 Python 的强制缩进已经使代码可读性好很多了,再加上一些格式约定,代码风格完全不是问题。

5 块钱送上,楼主收好快走。
greatghoul
2013-06-09 22:04:15 +08:00
@sudayly 因为开发代码都是在集群的一台机器上开发的,测试可能又会到另外一个集群上跑,而不是每台机器上都有对应的vim插件的。

其实我觉得你们运行期程序各种崩溃就是因为你们这样乱改代码才导致的。

- 既然是很大的项目,代码肯定是要通过各种测试来保证质量的
- 修改流程必定是本地修改,跑完测试才能提交的吧,服务器上肯定是通过更新的吧
或者你们有 CI,哪里可能需要到服务器上手工改代码

你们没有用版本控制吗?
nil
2013-06-09 22:55:20 +08:00
python社区看起来也是诸多脑残粉,楼主亮出几个观点,懂的说出反对意见,不懂的也不用人身攻击吧~ 有用的没提,又是二xx的,又是java程序员的大帽子猛劲扣。另外用什么语言至于搞出来那么大优越感么~ 囧rz。。。一个个的装13

python说起来也就是也就是一门全面平庸的语言,强制缩进语法毁誉参半,逼格不见得高到哪去吧;值得称道的就是一堆库,庞大的社区,不过看楼上几位的德行。。。

丫的,不应该乱说实话的
unionx
2013-06-10 05:25:22 +08:00
叫你们用Lisp你们又不用,哼
raptor
2013-06-13 11:35:53 +08:00
就我用过的主流程序语言来说(像汇编一类的非主流就不提了)……
1. C/C++/JAVA编译没错,运行崩溃的情形到处都是,碰上菜鸟留个野指针(C/C++),连错误都不知道上哪找去。
2. 自从我写程序开始,就从来不用tab字符(默认配置IDE或编辑器为一个tab等于4个空格,别说你不会配置vim,这种简单的事情不需要插件),缩进一律用空格,从来没有因此碰到问题……BTW:即使是写C/C++/JAVA,我也习惯整齐缩进。
3. 再好的设计也挡不住错误的使用,如果list对负索引丢出异常,你是不是又要怪它编译时不出错,运行时崩溃了呢?
4. 你一定没有用过C++……python的风格很统一,那就是pythonic,只是再好的风格也挡不住有人乱用,JAVA风格够严格了,一样会有人写出来惨不忍睹的代码。
zzcflying
2013-06-13 17:38:11 +08:00
很怀疑楼主是4年python developer。就第三点就看出来了。麻烦以后看完文档再出来吐槽。
ivenvd
2013-06-14 13:13:24 +08:00
楼主说不依赖于工具,却又依赖于编译器进行错误检查,不是自相矛盾么?

5 铜拿去。
Hyperion
2013-06-14 13:38:13 +08:00
@nil @sudayly 写一门爱一门有错吗? 往别人头上套装13的帽子, 先看看自己发的帖吧... 每个人都有自己的喜好别人就不能说了? 别人与你素不相识, 猜测一下有错吗?

不喜欢? 换! 不习惯? 换! 讨厌? 换! 换工作换工种还是换语言, 这我就没办法说了.

顺带一提我自己的喜好, 强制缩进真心好, 对付不喜欢缩进的人一枪一个准. java就说了, 反正我讨厌.

语言放在那里, 发这种抱怨帖, 意义? 语法会因这帖子改变? 我感觉, 说白了就是不会...

其实本身就是个没营养的题目, 自然让他沉下去是最好的办法.

最近发奇怪帖子的人, 都是不设头像的家伙啊. 5铜拿去, block, 不送!
Hyperion
2013-06-14 13:40:26 +08:00
@Hyperion "java就说了" => "java就不说了"

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

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

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

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

© 2021 V2EX