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