<div dir="ltr">2008/10/6 Achilles Xu <span dir="ltr">&lt;<a href="mailto:formalin14@gmail.com">formalin14@gmail.com</a>&gt;</span><br><div class="gmail_quote"><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>关于perl和python,从表面或者纯理论上看,python是比perl要动态好多。perl里高深的glob/符号表技术,在python里是非常基本的自醒能力。</div></blockquote><div><br>不太认同 python 比 perl 动太好多的提法。。。虽然我不是 python 程序员。自省在 perl 里比较奇怪是因为语言设计者当时认为只有高级程序员才用得着它们,所以把接口设计得奇怪一些,以免初学者滥用(当然了,这只是一种解释),呵呵。<br>
<br>Perl 的 OO 模型是非常灵活和奇异的,在上面可以建立全新的 OO 模型,比如 Prototype based, Inside-out, 还有 Perl 6 的 OO 系统(通过 Moose.pm),以及其他的类型。可能这在其他语言还是极少见的,呵呵。不过这些年 Larry 也后悔当初把 Perl 5 的 OO 模型设计得&quot;too orthogonal&quot;,所以才有了 Perl 6 中基于 role 的 OO 设计,呵呵。<br>
&nbsp;</div><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">从纯理论上一点一点地比较python和perl,好像python总是比perl要有优势。只是奇怪的是,实际使用当中,好像用perl能更快地写出更健壮的程序,而python则不然。<br>

</div></blockquote><div><br>呃。。。那个要看谁来比,以及怎么比了。。。呵呵。。。<br>&nbsp;</div><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>可能是python太动态了,很多时间都浪费在运行调试上了。(错误只有在特定的分支上才会出现)。</div>
</blockquote><div><br>好吧。。。为什么不 TDD 一把?<br><br></div><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">以前觉得动态很好,现在反而希望编译时检查能严一些了。最近看了erlang,它提供的语法习惯使得你的程序编译通过以后,bug很少,是另一种不错的体验。</div>
</blockquote><div><br>呃。。。如果写 Haskell 代码(通过 GHC 编译)的话,应该更能体会到这一点了。。。毕竟 Erlang 还只是弱类型的函数式语言。。。确实,类型系统能在编译时帮我们排除掉许多 bug 和错误,即使远非全部,但也相当可观了。这也是为什么许多 Haskell 程序员喜欢吹嘘自己的代码一旦通过 GHC 的 typechecker 成功编译后,一运行就是"很正确的",呵呵。<br><br>我在头脑不清楚的时候比较喜欢 Perl 的方式。。。醉拳也致胜,哈哈!<br>
<br>-agentzh<br>&nbsp;</div></div></div>