程序員們,是時候開始學習Ruby了
譯文【51CTO精選譯文】作為腳本語言,如PHP、Perl與Python的長期愛好者,Ruby語言曾對我造成極大的震撼。它是一個開源的、純粹的面向對象的腳本語言。Ruby on Rails Web框架更是重要的興奮點,Rails的經歷令人相當難忘。目前,Ruby被看作是互聯網領域未來的巨人殺手,而我們則沒有理由不去深刻理解這種語言的強大能力。
我為什么要學習Ruby?
這是個很好的問題。很多程序員似乎都抱著不愿意再學習另一種語言的想法,而選擇使用指定的語言作為錘子,打碎任何只要是擋住了他們路的螺絲、釘子、圖釘或者任何尖銳的東西。套用一個很好的觀點(這是我在一次Python會議上聽說的):如果所有的程序員只有一把錘子,而所面對的螺絲釘又都很鈍,那么情況將變得糟糕起來。這就是說,學習另一種語言,不僅能擴大你在其他語言方面的知識,也能使你的就業方向更加廣闊,從而使你能夠跳出為自己所設定的那個框框。那么,為什么不從反方向去思考這個問題呢?當然,人們希望,每個新的語言都采用了以前語言的優點,而同時又避開了它們的缺點。這也是Ruby創建的思想。
在創建Ruby時,松本說,他的意圖是遵守歧義最少的原則,這或許意味著他希望語言的表達方式只會引起最少的迷惑或歧義。其結果:該語言是100%面向對象的動態類型,去掉了多余的句法要求(如縮進和分號),而使用一些幾乎可以方便處理任何你能想到的任務的庫來代替。在下面,列舉出來了Ruby眾多有意思的特點:
◆支持的多種平臺,包括各種UNIX的變種,Windows 95/98/NT/Me/2000/XP和Mac OS X
◆通過mod_ruby能夠實現Web應用程序的開發,它是一個Apache模塊,被嵌入到Apache Web服務器中作為RUBY的解釋器。
◆一個獨立于數據庫的接口,類似于Perl的DBI模塊。目前,已經有相關的驅動了(DBDs),可以用于DB2、InterBase、mSQL、MySQL、Oracle、PostgreSQL和SQLite等數據庫軟件。
◆通過類似于wxRuby的設計,能夠創建跨平臺的、基于GUI的應用程序。
◆使用RubyGems可以簡單的包裝,并對應用程序進行管理。RubyGems的操作類似于Perl CPAN,通過一個方便的控制臺界面,可以對打包的過程進行完全的控制。
◆通過內置的RSS和soap來支持Web服務。
◆擁有一個異?;钴S的用戶社區。Ruby Application Archive和RubyForge只是其中的幾個例子,而現在已經有上百個項目處于開發中了。
鑒于這些特點,就很容易理解為什么Ruby得到了這么多程序員的關注。如果你想要成為一個優秀的程序員,尤其是,如果你正在做或計劃做Web開發,那么你真的沒有理由不去了解并學習Ruby。
原文:Should Ruby Be Added to Your Programming Repertoire?
作者:W. Jason Gilmore
【編輯推薦】