Ruby on Rails能否成為主流?(1)

發表于:2007-06-11來源:作者:點擊數: 標簽:
基于以下的這么一個原因,你也許不會在本文中讀到Ruby on Rails的不好,那就是:我愛Ruby,我愛Ruby on Rails。在我開始學習Rails的第一天起,我就覺得Rails是構建在令人驚嘆的語言上的一個奇異的框架。我認為David在以下兩個方面做了一些奇異的事: ◆跟上

基于以下的這么一個原因,你也許不會在本文中讀到Ruby on Rails的不好,那就是:我愛Ruby,我愛Ruby on Rails。在我開始學習Rails的第一天起,我就覺得Rails是構建在令人驚嘆的語言上的一個奇異的框架。我認為David在以下兩個方面做了一些奇異的事:

◆跟上創新的思維,把Web編程提高到一個新的高度。

◆正確的調整讓Ruby發揮了它的作用,從而達到了他的目的。

說實話,Pick Axe和Agile Web Development with Rails是我在過去的幾年中讀過的最好的兩本書。我讀過一些技術書籍,但是沒有任何其它的書能象這兩本這樣激起我的興致,并讓我希望能夠讀到更多的相關內容。并且最為突出的是它不需要預先積累太多的知識就可以開始應用的特性,并向我們展示了Rails是如何的強大。

沒有人否認Ruby on Rails已經將Web編程世界作為了它的目標。

那Ruby on Rails會不會成為主流?我的答案是否定的,盡管它具有這么多好的品質。也許,正如你所猜到的,我對此的確信并不是來自于技術基礎的考慮的。

實際上,一個成功的Web開發框架取得成功是許多因素一起作用而造成的,但是在我深入介紹這些因素之前,請允許我講一個相關的故事。

你曾經遇到過Smalltalk或者Lisp的程序員嗎?你知道,這些人不管你怎么告訴他們,他們總是回答“Smalltalk在二十年前就做過這些了”,或者說“沒有任何東西被創造發明出來,直到Lisp的出現”。當你在和他們交談的時候,他們總是用一種愉快的眼神禮貌地聽你說,當你說完的時候他們會聳聳肩膀,不管你指出的東西,并善意的向你推薦一個三十年的老技術,這個技術是他們曾經學過的最后的東西,并且這個技術從那個時候就已經指出了他們所提供的所有的每個技術要點。

我相信從現在起的十年內,人們將會回憶起Ruby on Rails,并且會有相同的反應。我不能確定在十年以后我們將會有什么樣的Web框架,但是我很確信的是現在的許多Ruby on Rails的瘋狂愛好者將會有同樣的態度:“那樣是很好的,可是Ruby on Rails在十年前已經把這些做完了,并且做的更好?!?/p>

有趣的是,也許他們真的是對的。但是到那個時候,這將不再重要,不管它在技術上如何的出色,而Ruby on Rails可能也將只會是為專家們所知道的小范圍使用的技術了。

那么為什么我認為Ruby on Rails永遠都不會跨過這個裂口呢?

首先,Ruby

再一次:我愛Ruby,我真的熱愛。它是過去幾年里面很少的幾個能夠讓我驚嘆的語言之一,不管什么時候我讀到一個我不曾知道的特性的時候,他會讓我大叫“Yeah!”。我覺得它的語法和概念的十分的雅致,同時也非常強大。當然我并不是喜歡它的所有東西,但是Ruby是我現在所使用的所有語言中排在Java之后的第二位的語言,而第三位的卻排的很遠很遠去了。但是它是一個復雜的語言,包含可許多高級的習慣用語,而這些習慣用語對于PHP和Visual Basic程序員卻是很難理解的。

無可否認,PHP和Visual Basic是便宜的對象(我們談論的是那些甚至沒有命名空間的語言),但是不管是否喜歡它,他們都是Web標準。任何想在Web競技場成功的人一定有一個令人矚目的故事來告訴給這些程序員,告訴他們一些能夠說服他們轉換到Rails技術平臺上的東西,并且要對于他們的管理來說也是一個輕松的事情。 如果沒有這兩個條件,Rails將不會成功的,并且我預測Ruby和Ruby on Rails將總會很難出售給任何超過10個員工的組織機構的。

Ruby on Rails本身

Ruby on Rails只是太高級了。我是認真的。它具有難以置信的數量的靈巧特性,而這些特性都涉及到了許多的技巧(Ruby相關的或者由David他自己發明的)。對于有才能的開發者,這些特性的確是一個夢想的實現,MVC配線,scaffolding,默認配置,單元測試(甚至是現在的集成測試,非常棒!),凡是你能夠想到的。David碰到過那些Web開發人員最近幾年都一直在面對的問題,也體驗過那些痛苦的時刻。Ruby on Rails本身就是一個偉大的例子,它展示了如何將我們在過去的五年中的所有關于軟件開發的知識都包括進來了。

但是這對于協作開發的開發者來說,仍然是一個難以跨越的鴻溝。有些時候,太多的技巧本身就只是太多的技巧了,并且它很可能出現的情況是,代碼流太直接或者太聰明而讓一般的開發人員難以明白。開發人員能夠從命令式編程轉向面向對象編程, 但是那是一個艱苦的斗爭。我不相信 Web世界已經準備好來擁抱Rails的明智。

仍然沒有可靠的IDE

所有的動態語言的狂熱者會迅速的指出說他們不需要使用IDE來使用Ruby,Phthon,Groovy或者其他的語言。并且他們會迅速的補充到說:“如果你需要一個IDE,那說明你還不夠Ruby化或者Phthon化,并且你最好回到你原來使用的語言去,而不要管他們這些已經成熟的人。

這沒有任何意義??梢院雎缘暨@些人,他們并不明白現實世界是怎么樣運作的和開發人員是怎么樣想的,并且他們也是為什么有這么多的偉大技術都不能成為主流技術的原因之一。永遠都不要羞于去說需要一個IDE或者索要一個IDE。當然的,也有不好的方式來使用IDE的(例如,你希望它能夠為你生成代碼),但是如果你對Ruby on Rails感興趣,機會就是你是一個有分寸的開發人員,并且你知道如何調整一個IDE來讓你比在使用emacs的時候獲得更高的生產效率。代碼完成或者導航,測試,重構,項目管理,源控制集成等等。有太多的性能能夠列出來,而如果你有這么一個工具能夠具有這些性能,那它將會讓你具有更高的生產率。

這是2006年,不是1996年。每一天我們正在寫的程序和我們正在解決的問題都是數量級的更加困難于那個時候,并且我們的工具需要能夠保持跟上這樣的需求。Emacs是一個很好的文本編輯器,但是不再能夠滿足現代的開發了。

過于狂熱

朋友們應該也能看出我對這個話題有多么強烈的感覺。還好我還能比較冷靜,但是Ruby on Rails的狂熱用戶們卻對Ruby評論家和批評家的態度不是那么仁慈。有很多人會來說服你,他們說它已經找到了所有問題的最終答案,并且他們并不害怕讓你知道。我對這些人只有一個建議:你也許是正確的,但是請謙遜一點。它永遠不會受到傷害的。


共2頁: 1 [2] 下一頁

原文轉自:http://www.anti-gravitydesign.com

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97