我的PHP,Python和Ruby之路

robbin發表於2011-03-21
因為看到一篇討論PHP,Python和Ruby的程式語言討論貼,就說說我的PHP,Python和Ruby之路吧:

我2000-2001年用PHP用了兩年,那還是第一次網際網路泡沫時期,到2001年後期,Servlet/JSP流行,然後我就發現:你說用PHP寫的東西,都會被人鄙視。當時我們其實也用Java了,只不過用Java寫後端的訊息佇列。

2001年後期泡沫破滅,我跑去做企業應用,就主要寫Java寫了很多年,中間2003年開始做JavaEye網站,到2006年用Rails重寫JavaEye之前的3年,用的是phpbb搭建的,所以PHP也斷斷續續一直用到了2006年。

以我2000-2006年總共六年多的使用體驗來說,我對PHP真的是深惡痛絕之,但凡做一個稍微大一點的系統,程式碼就很容易失控。2002年以後,我曾經一度以為PHP這個東西快死掉了,那個時候大家都言必稱J2EE和.net了。結果Web2.0之風襲來,大家又發現J2EE太重,PHP又死灰復燃了,我其實很詫異現在PHP居然又變得如此流行。從技術上來講,PHP是個很爛的東西,但它門檻低,易部署,普及率高,好找人,實在是網際網路時代的VB,打不死的小強。

Python我大概是04-05年迷戀了一年左右,研究過Zope,plone,後來還看過wxPython,曾經一度想用Python寫JavaEye網站。記得04年Rails出來之後,還很長一段時間被我深深鄙視過。

但後來我去杭州拜訪potian,被他的Rails實踐經驗說服了,之後我和他以及其他人在JavaEye上面有一個很長的討論貼,討論Rails的執行機制,最後我又被他說服了。然後我還不死心,研究和比較了Rails和Django,不得不死心了,後來還曾經幾次想用Python,每次都死心的很徹底,現在就徹底不考慮Python了。

就算你不用Rails,作為一個程式設計師,我也強烈建議你學習一下Ruby,僅僅因為可以開拓你的思維就很值得了。因為Ruby的語法很強大很好玩,是現代語言版本的smalltalk,算是很原汁原味的物件導向程式語言,你學習了Ruby以後,你就會發現,原來Java/C++所謂的物件導向就是TMD的山寨版本的物件導向,原來物件導向還可以這樣玩阿。

PHP用一句話來總結就是: quick and dirty
Python用一句話來總結就是:quick and clean, but not convenient for web development
Ruby用一句話來總結就是:code for fun and quick for web

補充一下吧:為什麼我當初用Rails來寫JavaEye網站:

在選擇用什麼工具開發JavaEye網站的時候,唯一的指導標準就是:用最少的人力,最少的時間開發JavaEye網站,並且後期維護和持續升級,乃至重寫的時候,代價最小。

首先排除Java和C#,程式碼太多太麻煩;
其次排除PHP,專案一大,程式碼一多,程式碼的管理很成問題,PHP缺乏一個起碼的包管理機制;

當時重點考察Python和Ruby,因為有豆瓣的先例,開始很傾向於Python,而且我那個時候對Python比較熟悉,還曾經痴迷過一段時間的wxPython,對Zope和plone也有一些研究。

但後來比較了Rails和Django之後,就傾向於Rails了,差距實在太大了,而且當時Django很不成熟,在很早期的版本。其實即便現在Django和Rails的差距也沒有縮小過。

但讓我最終下定決心的是potian在05年就大規模使用Rails的實際工程經驗,我曾經去杭州就我比較質疑的問題當面請教過他,和他談過以後,就決定用Rails了。

應該說,我當初用Rails的決定很英明!

現在[url=http://www.iteye.com/topic/964151]JavaEye網站正在招聘Ruby程式設計師[/url],請有志於Ruby領域的程式設計師和我聯絡。

相關文章