Ruby的瓶頸 以及PHP何以成為Web之王
譯文【51CTO精選譯文】本文出自killerphp.com的站長Stefan Mischook,并在發(fā)布之后被推送到了著名的PHP開發(fā)者社區(qū):phpdeveloper.org當(dāng)中,從而引起了不少爭議。姑且不論Stefan撰文的用意如何,但其中提到的Ruby面對的問題:缺乏庫的支持,不容易擴展,容易崩潰等等,都是Web編程語言所必須要改進的。
在2006年的時候,我創(chuàng)立了killerphp.com,目的就是為了讓W(xué)eb設(shè)計人員更容易地學(xué)習(xí)PHP。當(dāng)時我認(rèn)為PHP是占據(jù)著主導(dǎo)地位的語言,它應(yīng)該成為每位web設(shè)計師的核心編程技術(shù)之一:
◆html
◆css
◆php
◆javascript
后來Ruby橫空出世,不過好景不長,很快就又消聲匿跡了。
Ruby和Ruby on Rails到底怎么了?
曾幾何時,Ruby是有史以來最好的語言,其它所有語言相比之下都不值一提。時過境遷,現(xiàn)在回過頭去看,這簡直就是個笑話。
現(xiàn)在Ruby的光景已大不如前,遠遠不像當(dāng)初那樣引人注目。這輛軌道車(Rails train)實際上已經(jīng)從軌道上滑落——現(xiàn)在Ruby陣營里已經(jīng)有了可以替代Rails的web框架Merb。當(dāng)然嚴(yán)格說來,Merb和Rails只是正在合并,所以說它脫軌有些言重了。
那么到底出現(xiàn)了什么狀況,制約了Ruby的發(fā)展呢?
限制Ruby擴張的原因和我2006到2007年時上線這個網(wǎng)站的原因是一樣的:Ruby的心已經(jīng)碎了。
◆是的,Ruby有很棒語法規(guī)則。
◆是的,寫Ruby程序很有意思。
◆是的,它的確是純粹的面向?qū)ο?,最大的面向?qū)ο螅?/P>
但是,Ruby也有許多缺憾:許多重要的庫和函數(shù)在PHP程序員看來理所當(dāng)然的,卻讓Ruby程序員羨慕不已,卻只有干流口水的份,因為Ruby沒有提供這些。如果實在需要的話,可以用C語言編寫補丁,但是這太痛苦了。
除此之外,Ruby還有些不可告人的秘密:crash-o-matic。確實是這樣的,基于Ruby的Web程序經(jīng)常崩潰。與Web服務(wù)器沒法良好結(jié)合,這讓Ruby總是如芒在背。
證據(jù)在此:Ruby曾造成Twitter連續(xù)三周出現(xiàn)性能問題
……當(dāng)然平心而論,我聽說這方面已經(jīng)得到了一些改善。
這和PHP又有什么關(guān)系?
正如我?guī)啄昵霸谝黄P(guān)于Ruby的博文里所說的(51CTO編者注:那篇文章寫在Ruby崛起不久的時候,那時一個普遍的觀點是Ruby可能將代替PHP):PHP的恰好就彌補了Ruby的不足。不可否認(rèn),PHP的某些方面確實不如Ruby那樣漂亮。但是正如人不可貌相,如果一種語言華而不實,那誰還會喜歡呢?
……好吧,也許你可以分別試試這兩種語言!但是不管怎樣,不要被哪一種語言一葉障目。
我還是認(rèn)為至少到目前為止,PHP是學(xué)習(xí)web編程的最好入門語言。原因如下:
◆功能強大
◆容易學(xué)習(xí)
◆擁有大的市場 = 你有更多的活兒可以做
說了這么多,難道PHP就是完美無瑕,處處占優(yōu)嗎?不是這樣的。每一種語言都有其優(yōu)勢和劣勢——尤其是在結(jié)構(gòu)層次上,PHP還很欠缺。我的意見從來都是,按照項目的需求選擇使用的語言。最開始我是個Java程序員,這么多年來我使用過不下7種編程語言。所以我堅持認(rèn)為,選擇適合項目的語言才是最重要的。
原文:What happened to Ruby? And why PHP is KING of the Web.
作者:Stefan Mischook
【編輯推薦】