高人介绍一下perl和python的优势和缺陷。。
他们之间有什么区别?
学哪个比较好?
问题点数:100、回复次数:9Top
1 楼dximg(黄叶仍风雨)回复于 2003-12-03 17:17:54 得分 40
下面是转贴:
好久不来,竟然多了个我最喜欢的东东,忍不住手痒,发他一帖,不到之处,各位多指教 :)
我觉得 python 比 perl 强的地方主要有五个
1, 稳定
试过用 perl 写的几个大一点的程序,运行一段吧时间后就崩溃,而且打印出的信息太简短,基本没什么帮助。据说 python 是从不崩溃的,如果真的这样就太好了,呵呵
2, 多线程支持
我认为差不多是最大的缺陷了,很忙的服务器,对每个连接都 fork 一个进程,太夸张了,而且效率也差,大概就是这个原因导致 perl 没有类似 zope 的东西吧
3, 可以编译执行
到不是说 perl 不能编译,perl 对 OO 的模块编译也不错的,就是需要 require 的 ph 文件,太伤脑筋了!比方把一些扩展功能写成一个一个函数,放在 ph 里,有程序启动时动态装入,好象没办法直接编译
4, 和 java 联系紧密
本人很讨厌用 java ,但工作需要,偶尔也要用,现在好了,有了 jython ,基本上可以不写 java 程序了
5, 简单,容易学习
__setXXX__, __getXXX__ 比 tie 要直观
try-raise-except 比 eval-die-$@ 也直观多了,而且我总怀疑 try-raise-except 的效率好高些,不知道为什么 perl 把这些东西弄得那么难懂,可能是历史的原因
当然,不是说 perl 不好,perl 也有些优点是 python 没法比的,目的只是为 python 摇旗呐喊,差不多同样优秀的两种语言,支持者的数量不应该差这么多的。
本人最喜欢的两种语言就是 perl & python ,不过看来又要加上 C# 了
=============================================================================
详见:
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=python&Number=209661&page=1&view=collapsed&sb=5&o=186&vc=1
Top
2 楼klbt(快乐白兔)回复于 2003-12-04 19:52:11 得分 0
楼上说的很全面,同意Top
3 楼windinn(颠覆后25时代)回复于 2003-12-07 21:21:23 得分 0
python有什么好书呢?
我以前看过perl语言的创始人写的program perl(好象是这样)的英文电子束,感觉思维非常活泼!(但是生词太多(嘿嘿~英语很差~),没看多少。)
python有着方面风格的书吗?Top
4 楼leejd(小东)回复于 2003-12-08 10:24:25 得分 10
python的OO较好,便于写一些大型程序Top
5 楼windinn(颠覆后25时代)回复于 2003-12-08 17:24:03 得分 0
再顶一下Top
6 楼bobi1128(水星登陆)回复于 2003-12-08 22:37:13 得分 0
不好意思我就知道把python当个不错的计算器使用,向各位学习。Top
7 楼dximg(黄叶仍风雨)回复于 2003-12-09 21:08:15 得分 10
到这里看一下:
http://www.china-pub.com/search/search_result.jsp?shuming=pythonTop
8 楼mechgoukiteng(变态是一种生活态度)回复于 2003-12-11 09:54:36 得分 10
有很多python的好书的,还有2003.1出版的
可能perl在速度上要快一点,不过对于脚本语言来说这个并不重要
还有,perl身上的hacker气质比较重,代码容易让人看不懂Top
9 楼Atan()回复于 2003-12-13 01:38:30 得分 30
用PERL编程多一点,Python是一个好的语言,但比较各色。要是比较,我的观点如下:
1、Perl随处可得,PythON在Linux上都不是缺省安装的。
2、Perl式和编写小程序,Python适合编写大些的程序,面向对象特性很好(毕竟年轻嘛)。
3、Perl语法和C比较接近,Python就想去甚远了,特别不能接受的是强制缩进,说是培养好习惯,可是少了灵活性。JAVA就是因为语法接近C++才吸引了大量的C程序员。Python要是语法不那么特立独行,应该发展更好的。
4、如果你要是做大量的文本处理程序,用Perl是最好的选择,正则表达式太方便了。Python的正则表达式是和JAVA一个级别的。
5、ActivePERL在Windows上的PDK花样很多,甚至可以编译成后台的服务和拖盘程序,功能很强的说。Python不知道有没有那么多花样?不过不得不承认Jython是一个好东西。
Top




