2010年9月16日 星期四

Comment 回在這邊,轉貼一下:
http://lightyror.thegiive.net/2006/09/rubypythonperl.html

雖然三種語言都有寫過一些,不過我對 Perl 程式語言比較熟悉些,我對 Perl 程式語言的『澄清』如下... XD

若是讀 CPAN 上模組的程式碼,你會發現其實 Perl 程式碼並不是 write-only ,然而會變成 write-only 大多是為了解決小而重複性低的問題,加上大家特別喜歡拿這部份出來討論,而長久下來大家對 Perl 所留下來的偏見罷了。 (當然還有很多,但就不在此提)

Perl 程式設計師大多並不會寫出 write-only 的程式,不過大家都喜歡將 obfuscated 的 perl code 拿出來炫耀一番就是,這也是為何 write-only 的由來之一。

不過若反過來看,有誰沒有寫過 write-only 的 code ? 其實人人有寫過 write-only 的 code 的經驗,不一定非得 Perl 才行,對吧? :-P

此外,由於 Perl 發展歷史悠久,Perl 擁有一套引以為傲的單元測試系統,重要的模組得以經過完整測試才會安裝到系統上,所以就算是 write-only 也不必擔心是否會因為 write-only 造成其他延伸問題。

順帶一題,近幾年 Perl 的發展,已有許多模組的發展已經使得現代的 Perl 與早期的 Perl 已經有及大的差異。 不過由於大多數的人對於 Perl 的認識並不多,所以對於 Perl, 大家都還是停留在『撰寫 CGI』的那個年代。 舉例來說,Moose, Autobox 模組的開發,使得 Perl 得以導入後現代的物件導向系統,使得 Perl 可以使用更簡潔、強大且可輕易擴展的物件導向功能。而 AnyEvent, Plack 等模組的發展也使得 Perl 的 Web 開發更加強大且快速。

關於此相關的資料可以參考 gugod 的 good evils in perl ( http://www.slideshare.net/gugod/good-evils-in-perl )

以及 Moose: http://www.iinteractive.com/moose/

Plack:
http://plackperl.org/

以上。 :-)