<div dir="ltr">perl是高手用的语言,里面有太多奇技淫巧,常人很难用来做真正的项目,而这世上高手又不多。python是老少皆宜,没有什么花哨的东西,学起来用起来都简单很多。<br>我用了5年的perl,也在真正的项目中写过很多perl代码,现在也转向python了,培养一个perl程序员难度太大,教团队新成员python则容易的多,且团队内由于perl语言太灵活,彼此看不懂对方代码也很头大,虽然perl是我用着最上手的语言现在却不得不转向python了……<br>
<br>perl里最大的几个问题:<br>1. 语法太灵活。这是perl的优点,perl爱好者巨喜欢的,我就很喜欢,但这也是制约perl发展的最根本的原因。项目团队内解决方法,约定一套统一的编码、命名、注释规范。尤其是每个变量必须my声明,且标明内部结构如: my %user; # user { &#39;name&#39; : .. , &#39;groups&#39;:[ {&#39;groupname&#39; : .....<br>
2. 多线程严重不稳定,win32下效率非常低,解决方法:用多进程。<br>3. 类声明语法很不自然。 class声明一般团队新手很难学会,解决方法: use&nbsp; cpan 上的perl6::classes,这样在perl5里就可以用人都能看懂的方法来声明类了:<br>class Person {<br>&nbsp; method function1 { .. }<br>&nbsp;}<br>4. 函数无法指明参数,使得函数定义不自然,也不易阅读,解决方法:use cpan上的perl6::subs,然后就可以比较好的定义函数了 def function($age,$name) ...<br>
<br>perl5本身除了以上几点外已经非常完美了,说实话我对perl6一点都不看好,因为:<br>a) perl5已经足够好,大家并没有使用perl6的动力,开发者也没有动力去开发perl6.我觉得这个才是perl6始终缓慢的根本原因。<br>b)perl6会导致对perl5的不兼容,现在cpan上这么多模块不兼容是巨大的损失。<br><br>我列出的perl主要4个问题,有3个都能得到解决,只有那个线程问题是个硬伤,尤其是现在cpu都向多核发展,多线程解决不好会更加限制perl的发展。如果perl6能很好的解决这个问题就是天幸了!<br>
<br>当然python目前对多线程支持也极烂,同一时刻只能有一个线程使用解释器,这就导致无论多少个cpu同一时刻只能有一个线程在执行中,其他都在等待。<br><br><br><br><div class="gmail_quote">2008/10/6 kind terry <span dir="ltr">&lt;<a href="mailto:kindterry@gmail.com">kindterry@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div dir="ltr">同意你的观点。<br>牛人们不能太低调啊,要出来教育群众嘛。如果每天china-pm都有这么多邮件就好了,哪怕不是光讨论perl<br><br><div class="gmail_quote">
2008/10/6 xu zhou <span dir="ltr">&lt;<a href="mailto:redicaps@gmail.com" target="_blank">redicaps@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">需要牛人不断闪现啊<br>
新手做不了什么<br>
<br>
</blockquote></div><br></div>
<br>_______________________________________________<br>
China-pm mailing list<br>
<a href="mailto:China-pm@pm.org">China-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/china-pm" target="_blank">http://mail.pm.org/mailman/listinfo/china-pm</a><br></blockquote></div><br></div>