免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 蔡万钊
打印 上一主题 下一主题

[C++] 我是个python黑,发这里找骂之——为什么python是一个非常不好的语言 [复制链接]

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-07-04 06:20:00
21 [报告]
发表于 2012-12-16 11:35 |只看该作者
python还面临着 python3 和 python2 的分裂。

被你说得太严重了, 至于是“分裂”吗? 任何语言都在不停的进步着,升级、改进,加更好的功能。 一点小的变化,就用“分裂”,呵呵!

论坛徽章:
1
摩羯座
日期:2014-04-06 10:30:51
22 [报告]
发表于 2012-12-16 11:50 |只看该作者
森子很大

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
23 [报告]
发表于 2012-12-16 12:00 |只看该作者
python不错了, 拿python做粘合剂的不算多, 但Python本身在应用开发领域可是积淀已久, 啥库没有啊.

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:11数据库技术版块每日发帖之星
日期:2015-08-30 06:20:00
24 [报告]
发表于 2012-12-16 12:23 |只看该作者
btdm123 发表于 2012-12-16 10:13
本人才疏学浅,没时间去看python的实现,您要是看过源码,大可以写文章出书来出名,何必来cu吹牛呢?


不是来吹牛的,是坐等被喷的。

对 python 很不爽,看那么多人捧python,想见识一下捧python的人能不能说服我而已。

论坛徽章:
0
25 [报告]
发表于 2012-12-16 13:02 |只看该作者
用py有5-6年了,用c/c++比这个还要长点,说点我的看法
语言只是工具,嗯,工具
我不捧py,也不捧c/c++
选择是用py(or 其他脚本)还是c++取决于很多方面,包括,使用者的对语言掌握的熟练程度,具体的需求(调研用?打算正式上线?要求高性能?)等等
很多时候我选择使用py,是为了线下调研效果验证想法,py的lib多,所有几乎你想到的功能,都有现成的lib
就拿刚才ls有人说的例子
python -m SimpleHTTPServer 8080
多简单是不是?就这么一句 一个简单的httpserver就起来了
lz你问SimpleHTTPServer模块开发又有多少人力呢?
那敢问lz,你用c++就不用其他第三方库的么
每一个项目过来,你都从最基本的模块开始写起么
py的lib多,可以大大减少其他人的重复造轮子,有现成的为什么不用呢?你说是不是?

如果追求性能,py其实也可以基本满足你,用c/c++给py写扩展包,非常方便

lz对py不爽,是哪些不爽的地方?能1,2,3列出来一起讨论下么?还是说lz刚开始学py学不下去了想来找个可以继续的理由?
希望lz是建立在对py足够熟悉的基础上来吐槽py的,如果不是,请先熟悉了再来吐槽
任何语言肯定有好和不好的地方,关键是看你怎么去使用了

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
26 [报告]
发表于 2012-12-16 14:30 |只看该作者
>> 但是衡量一个语言本身效率的,事实上应该是最后一个 "语言本身的累赘",这个才是编译器永远无法改进的,程序员水平再高也无能为力的。
>> 不幸的是,python是一个本身的累赘非常多的语言。而累赘最少的语言,应该算是C++语言了。

这是在黑所有第四代语言。

>>不用说python的文档还是很多的,但是显然没有c++多。各种粗制滥造的c++教程铺天盖地,算了,这是c++的坏处。误人子弟的教程太多。

这是劣势。现在大学里讲授Python的都很少。但这点跟语言的好坏关系不大。要这么算的话,比比Java与C++吧,恐怕Java完胜。

>>库当然是C++最丰富了。

同上;况且这个结论未必成立。Java完胜。

>>python还面临着 python3 和 python2 的分裂。

我不知道这会带来多大影响。

>>开发环境和库一直是C++的优势。

默认的IDLE就支持自动补全了。Java完胜。

>>可惜的是,C++一样有高级语法糖,而且代价很低!比python低太多了。在这一点上,python没有优势,只有劣质。python的语法糖是以牺牲性能换来的,而C++在不损失性能的同时提供了语法糖。

一句"C++一样有高级语法糖"就把Python的简练给压过去了。。。。

>>至于语法自然不,仁者见仁智者见智了。对于大多数C学过来的人来说, 自然是C++的语法简单。

据传Python十五分钟即可入门。虽然我忘了自己当初花了多久。Java小胜。

>>何况python还不支持模板。

你陈述"无类型语言不支持模板"这一事实的用意?Java小败。

>> 语言级的并行能力

Erlang?

>> 语言级的多进程能力

Perl也可以``执行程序算不算?我不知道谁这么在乎语言级的多进程能力,我也没听过哪种语言这样标榜自己。

>> 语言级的SIMD能力

Matlab?但是多少应用在乎这个?

>> 语言级的复杂数学公式计算能力  

请填空。

>> 内置的标准各种算法

多少场景下人们觉得Python或者STL提供的算法不够用?

>> 描述性语义

Lisp?

>> 我要求的这些,是高级语言需要具备的,而 python 统统没有,连 shell 都能占上一些!

看了半天,楼主在极狭隘的环境里需要极特定的功能。由于Python对不上号,因此得出python是一种非常不好的语言的结论。

楼主写了一大堆,介绍比较背景时思路清晰,井井有条;真枪实弹比起来却都没咬住重点,虎头蛇尾,可惜了。我看到最后也不知道楼主想被怎样说服。说服你喜欢?还是说服你它是一种不错语言?恐怕以你根深蒂固的经历及特殊需求,两者都很难。你想说明因为Python不适合的工作环境,所以你不用Python,可能找不到多少骂。但楼主的架势是想说服别人Python是一种很烂的语言,这个找喷思路恐怕不会错了。

另外,楼主用C++黑Python的几点几乎可以让Java黑掉C++了,还是找篇Java入门教程看看,先写篇黑Java的文章吧。


============分割线===========

由于入行时间不长,加上工作性质,工作中写的代码极少,反倒是业余时间的代码量有一些。所以比起在工作中淫浸在语言里的诸位,对语言带来的便利之感叹,被语言缺陷折磨之的苦恼,我的体会要少得多。

以一个业余写代码的眼光来看,我感觉python与其它第四代语言基本无异。大学期间,碰到需要用编程语言完成的事时,我首选Java,后来是Perl,再后来是Python。第一次变迁大约是为了便利,第二次看似在追赶潮流,我倒觉得有些莫名其妙。我挺喜欢Perl的灵活设计的,促使我转变的原因,恐怕是Python可以交互式解释。这听起来很无厘头,但就像楼主因为Python无法满足自己的需求而心生厌烦一样,我因为这个对别人而言可有可无的特性而转向了Python。

我几乎就把Python当高级shell来用,在Windows下它的作用就是shell。有段时间住宿没有网络,去网吧的第一件事就是下个Python解释器;有时远程到一台机器上,发现上面没有scp没有gcc,但是有python,于是它成了我传输数据的重要桥梁。用它解决一些琐事相当顺手,对我而言这已足够,比起Java来进步太多,比起Perl来也方便一些。C++就不说了,在我的需求下看C++就像在楼主的需求下看Python一样。

我对Python的两点不快是:没有静态变量检查(对我这种大手大脚经常产生typo的人来说太容易出错);操蛋的self。除此之外,倒没什么不满,也没什么信仰。另外一个无关的吐槽,python解释器的代码还可以看一看;相比之下,perl解释器不忍卒读。

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
27 [报告]
发表于 2012-12-16 15:57 |只看该作者
python和其他脚本语言是一样的, 但python比其他脚本语言要优雅很多(一般人都这么感觉), 并且这段python哲学我实在找不出什么刺.
  1. >>> import this
  2. The Zen of Python, by Tim Peters

  3. Beautiful is better than ugly.
  4. Explicit is better than implicit.
  5. Simple is better than complex.
  6. Complex is better than complicated.
  7. Flat is better than nested.
  8. Sparse is better than dense.
  9. Readability counts.
  10. Special cases aren't special enough to break the rules.
  11. Although practicality beats purity.
  12. Errors should never pass silently.
  13. Unless explicitly silenced.
  14. In the face of ambiguity, refuse the temptation to guess.
  15. There should be one-- and preferably only one --obvious way to do it.
  16. Although that way may not be obvious at first unless you're Dutch.
  17. Now is better than never.
  18. Although never is often better than *right* now.
  19. If the implementation is hard to explain, it's a bad idea.
  20. If the implementation is easy to explain, it may be a good idea.
  21. Namespaces are one honking great idea -- let's do more of those!
复制代码

论坛徽章:
4
天秤座
日期:2013-10-18 13:58:33金牛座
日期:2013-11-28 16:17:01辰龙
日期:2014-01-14 09:54:32戌狗
日期:2014-01-24 09:23:27
28 [报告]
发表于 2012-12-16 16:26 |只看该作者
啊~~~~~~~~~~~~~~~~

论坛徽章:
0
29 [报告]
发表于 2012-12-16 16:43 |只看该作者
回复 8# 蔡万钊
那么那个语言那个库的开发时间很有效率?


   

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:11数据库技术版块每日发帖之星
日期:2015-08-30 06:20:00
30 [报告]
发表于 2012-12-16 19:49 |只看该作者
linux_c_py_php 发表于 2012-12-16 15:57
python和其他脚本语言是一样的, 但python比其他脚本语言要优雅很多(一般人都这么感觉), 并且这段python哲学 ...


这段哲学感觉像脱了裤子放屁一样。写上那么多不代表 python 就符合那种哲学。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP