幹不幹掉有那麼重要嗎?

之前寫了一些玩 JRuby 的文章之後,很多人開始問我一些問題:

JRuby 會幹掉 Ruby 嗎?

或是:

(J)Ruby 會幹掉 Java 嗎?

我真的很想說:「幹不幹掉有那麼重要嗎?」

我很喜歡之前提到的一篇關於 Charles Nutter (JRuby 之父) 的訪問,Charles 提到一句話:

In the typical Unix environment, you have any number of languages all working together.

我個人對這句話的解讀是,你在 Unix 環境下,會根據工作的需求來選擇不同的語言來完成工作,甚至拿它們來合作,比方說你用 C 寫了一些完成工作的程式,而用 Perl 來佈局這些程式並處理它們輸出的訊息,也不會有人在意 Perl 會不會幹掉 C。

所以我對上面兩個問題的答案分別是(雖然我在 JRuby 1.0 Released 那篇文章講過了):

  1. JRuby 沒有打敗 Ruby 的問題,JRuby 反而會讓 Ruby 更有機會變得 popular,因為它改善了 threading 的方式,導入了 AOTJIT compliation 等等讓 Ruby code 有環境能夠「一飛沖天」。而現有的 Ruby community 也不是烏合之眾,Ruby 新的 feature 還是會一直被開發出來。
  2. JRuby 更沒有打敗 Java 的條件跟必要了。不過 Sun 對 JRuby community 招手並不只是想要推 Jruby 而已,它可以藉著研究 JRuby 的同時,讓它們家的 JVM 在執行 scripting language 時更威,同時也讓 Netbeans 一起來研究 IDE 的整合,怎麼看 JRuby 都會讓 Java 愈來愈強啊~而且把它拿來當 Java 的輔助語言不是更好嗎? 😛

我個人在面對每個新技術的態度都是:「如果我要用它,那要怎麼用它來整合我目前的工作呢?」倒是不會想太多「取而代之」(當然啦,有些事情如果更適合用新技術來完成,當然就會換掉,比方說在 J2EE 裡用 Hibernate 換掉 Entity bean XD)的事情就是了。

  • CFC

    個人的認為是
    程式語言都只是工具
    沒必要幹掉其中一個
    各有優缺啊!
    相輔相成不是很好嗎?
    😛
    I love JRuby…
    But I love Ruby more than JRuby = =”