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