免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 兰花仙子

较之Perl - Python的语法真奇怪 [复制链接]

论坛徽章:
0
发表于 2007-01-24 11:11 |显示全部楼层
Perler是永远不会成人Perl的缺陷的。但是这并不妨碍他们攻击Python。

我不知道是不是进了黑名单了,前面发的几个帖子都是过了几分钟之后自动消失了。不知道这个帖子会有几个人看到。

如果这个帖子的标题部分把Perl和Python互换一下,不知道能存活多长时间。

论坛徽章:
0
发表于 2007-01-24 11:48 |显示全部楼层
等了好久.楼上终于现身了

好像这里没人攻击python吧,倒是你一直在攻击perl

论坛徽章:
0
发表于 2007-01-24 18:03 |显示全部楼层
互相攻击有什么意思,
各有各的生存空间,
各有各的优点,
语言是工具,
选择合适的就是了。

论坛徽章:
0
发表于 2007-01-24 18:27 |显示全部楼层
原帖由 shhgs 于 2007-1-24 11:11 发表
Perler是永远不会成人Perl的缺陷的。但是这并不妨碍他们攻击Python。

我不知道是不是进了黑名单了,前面发的几个帖子都是过了几分钟之后自动消失了。不知道这个帖子会有几个人看到。

如果这个帖子的标题部分 ...

zealot

论坛徽章:
0
发表于 2007-01-24 19:39 |显示全部楼层
地震,我这里上CU超慢。

请问仙子这个帖子的标题是不是攻击Python呢?

在我看来,Perl用户有一个我绝对无法容忍的特点。那就是为了宣传Perl,睁着眼睛,或者闭着眼睛,在说瞎话。

Python的可读性比Perl好,这已经是有定论的东西了。flw为了狡辩,弄出一个index,请问用regexp算不算?接下来是不是要说这就是Perl的TIMTOWTDI?

在我看来,这都只不过是脱了裤子放屁。差别在于,一个只是脱一条裤子,另一个脱两条。(Sorry,非常粗鲁,但是绝对形象,如果觉得不合适可以删。)

正告flw,不要狡辩。Python这地方比Perl强,就承认。Honesty is the best policy. 如果连起码的实事求是都做不到,你还奢谈什么客观比较。掮客而已。

论坛徽章:
0
发表于 2007-01-24 20:32 |显示全部楼层
白马带著她一步步的回到中原。白马已经老了,只能慢慢的走,但终是
能回到中原的。江南有杨柳、桃花,有燕子、金鱼……汉人中有的是英俊勇
武的少年,倜傥潇洒的少年……但这个美丽的姑娘就像古高昌国人那样固执
:「那都是很好很好的,可是我偏不喜欢。」

论坛徽章:
0
发表于 2007-01-25 12:45 |显示全部楼层
原帖由 路小佳 于 2007-1-24 20:32 发表
白马带著她一步步的回到中原。白马已经老了,只能慢慢的走,但终是
能回到中原的。江南有杨柳、桃花,有燕子、金鱼……汉人中有的是英俊勇
武的少年,倜傥潇洒的少年……但这个美丽的姑娘就像古高昌国人那样固执 ...

哈哈 执着的好姑娘。。。。。。

论坛徽章:
0
发表于 2007-01-25 22:50 |显示全部楼层
原帖由 awake 于 2007-1-24 18:27 发表

zealot


这个强……

论坛徽章:
0
发表于 2007-01-26 12:33 |显示全部楼层
个人觉得在面向对象编程的时候 ,python要好用些.也不会搞混淆.

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2007-01-28 17:39 |显示全部楼层
原帖由 兰花仙子 于 2007-1-22 15:07 发表


那说明Perl还是快不少,

是的,很多情况下未优化的python是不如perl快,不过通常这并不会成为问题,毕竟两种解释性语言都不是以性能著称。但就性能来说python也有很多优势,例如前面提到过的c模块。对于性能关键的代码块,可以考虑用C编写,或者用pyrex来写。还有用psyco优化有时会取得非常好的效果。此外还有一些python本身的优化措施。看我测试的情况:
  1. $ cat t1.pl
  2. #!/usr/bin/perl
  3. $i=0;
  4. while ($i<10000000) {
  5.     $i+=1;
  6. }
  7. $ time ./t1.pl

  8. real    0m1.888s
  9. user    0m1.884s
  10. sys     0m0.000s
复制代码

同样的perl代码,作为基准吧。
  1. $ cat t1.py
  2. #!/usr/bin/python
  3. i=0
  4. while i<10000000:
  5.     i+=1
  6. $ time ./t1.py

  7. real    0m3.704s
  8. user    0m3.696s
  9. sys     0m0.004s
复制代码

未优化python代码,此处比perl的慢一倍。
  1. $ cat t2.py
  2. #!/usr/bin/python
  3. def loopit():
  4.   for i in xrange(10000000):
  5.     i+=1
  6. loopit()
  7. $ time ./t2.py

  8. real    0m1.772s
  9. user    0m1.760s
  10. sys     0m0.012s
复制代码

这个只用python语言本身的优化,速度已经反超perl。
  1. $ cat t3.py
  2. #!/usr/bin/python
  3. from psyco import full
  4. full()
  5. def loopit():
  6.   i=0
  7.   while i<10000000:
  8.     i+=1
  9. loopit()
  10. $ time ./t3.py

  11. real    0m0.068s
  12. user    0m0.060s
  13. sys     0m0.008s
复制代码

这个又加入了psyco优化,此处性能几乎提高两个量级。

这个试例是针对整数的算术(加法)运算,只是管中之一斑而已,远不能涵盖两种语言的性能全貌。不过我可没有时间去做全面的评测。感兴趣的话可以到网上搜索或自己去做。

小弟是perl和python都学过,不过都浅尝辄止,只得一点皮毛。我并不想争论两种语言的短长,事实上两者我都喜欢。只是看到关于性能的话题,就自己知道的一点忍不住说两句,不对的地方请包涵指正。^_^

----------------------
hehe, 忘了说测试的环境了:
Ubuntu6.10 on T2300E 512M memory
perl 5.8.8
python 2.4.4c1
python-psyco 1.5-3

[ 本帖最后由 woodie 于 2007-1-28 17:47 编辑 ]

评分

参与人数 1可用积分 +2 收起 理由
flw + 2

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP