軟件開發者是分社群的,大多數時候都是按照語言來劃分大的派別,門派不同的人,很少相互交流——跟那種用XXX的有什么好說的?越是這門語言足夠的自給自足,越是懶得看別的語言的東西。作為一個次新興語言,Java社群已經足夠封閉了。自己內部熱鬧非凡,新技術、新名詞、新戰爭、新領袖層出不窮,哪里有空去理會Java以外的世界?
可是最近的事情有點奇怪了,Java社群在非常熱烈的討論另外一個語言的項目“Ruby on Rails”!這是什么東西?
CSDN的Java頻道出了一篇文章:“最美的MVC,ORM方案原來在別處–Ruby on Rails”!
是不是很令人驚訝?這么長他人自己滅自己威風的事情,咱們Java社群的人可是從來沒干過的。
我當時也看了這篇文章,第一反應就是無動于衷,我還跟同事講:“現在年紀大了,早就沒有學新語言的沖動了 Smile ”
后來呢?偶然的機會我下載了一份PDF,下載地址是:
然后就看起來了。
多好的介紹啊!簡單,清晰,準確,有誘惑力!于是我下載了Ruby,One-Click就安裝完成了,然后在DOS窗口下輸入了一條命令:
gem install rails –remote
就安裝了Ruby on Rails。
再輸入一條命令:
rails mybook
就建立我的第一個Web應用項目。
再輸入一條命令:
ruby mybook\script\server
就啟動了WEB Server。在瀏覽器里,就看到了初始的Welcome頁面!
再說兩個數字:
一個Web Server需要8行代碼。
一個CRUD需要1行代碼。
我的淺嘗到此為止,但是留下的印象確實無比深刻!
為什么Java社群里那么多開源項目,“成百上千的Framework”,沒有一個有這么方便?注意,我只說方便!
方便才是硬道理!這個道理,Java社群里也有人懂的,比如Hibernate的作者Gavin King就說:“10分鐘之內把Hibernate跑起來”。Good,但是,一個包含Hibernate的Web應用要跑起來,需要多少時間?
一個流行的架構“WebWork+Spring+Hibernate”,加在一起的一個最簡單demo,需要多少時間才能跑起來?等等,還沒有選定WebServer呢!
再有,為什么不是iBaits呢?為什么不是Pico呢?為什么不是Velocity呢?為什么不是……
有人也許會說:“ruby社群只是發展得比java晚,所以現在只有這么一個拿得出手的東西,咱們java的好東西太多了,所以選起來累一些。”
但是,問題在于,Java社群里的那么多好東西,怎么就沒有一個有RoR那么方便呢?
java社群必須認真反思了!我們究竟在追求什么?
“美感”
“架構”
“靈活性”
“健壯性”
“先進性”
“規范性”
“設計模式”
那么“易學性”和“易用性”呢?難道我們開發新的框架,不是為了減少程序員的勞動嗎?
看到人家做出來的東西,總感覺有不足之處,然后呢?
自己另外做一個。然后呢?還有人又做了第三個,第四個。。。。
其實我們不需要那么多“富有創意”的項目,只要有幾個能用的,順手的就好了。如何才能改變Java社群的這種現狀呢?
思考中…
原文寫于:2005年05月27日
后記:這就是我最早接觸Ruby & Rails的記錄了。至今未悔...