2009-10-28 73 views
3

我是一名努力提高自己技能的中級開發人員。JRuby是Rails開發中MRI的可行替代方案嗎?

我對JRuby的狀態有點困惑,以及它是否是從MRI切換到可行的替代方案。

目前,我在家中運行Mac並使用textedit(ruby的MRI,rails命令的終端等)進行編輯。在工作中,我在Windows上使用NetBeans,但不要在那裏做任何Ruby工作。

我正在認真考慮放棄Mac,因爲與這次談話無關的原因,但我擔心,一旦我在Windows上,對Ruby的支持將會不太理想(我可能錯了)。

我非常喜歡在工作中使用Netbeans,並且我可以看到,在Windows上使用JRuby與Netbeans並允許JRuby管理我的寶石將是一個相對愉快的體驗。我喜歡代碼完成和完整IDE的想法,而不是文本編輯器(沒有啓動編輯器的火焰戰爭)。

我的問題是,JRuby會讓複雜的學習軌道?從我所看到的情況來看,JRuby不支持某些寶石,或者在該生態系統中可能會做一些不同的事情。作爲學習者,我遵循網絡和書籍上的許多教程,我擔心事情可能無法正常工作,或者很難在JRuby上工作。這種懷疑主義是否有根據?還是應該是一個相對無痛的開關?它如何影響部署到非JRuby平臺,如Heroku等?

我還在稱許多選項,包括Windows上的MRI,MRI或OpenSolaris上的JRuby等等。我認爲無論哪種方式,我都會使用Netbeans。

任何意見表示讚賞。

回答

2

實際上,您不需要爲Rails完成代碼。 TextMate是Ruby世界中最常用的編輯器,它對Ruby中的所有內容都足夠了。 Ruby不需要像Java那樣需要更多的工具支持。所以我會說,如果編輯問題是您選擇JRuby的唯一原因,那麼這不是一個很好的理由。因爲你是對的,有很多gems在JRuby中不起作用,因爲它們使用某種本地擴展。也就是說,最受歡迎的寶石往往在JRuby上工作。 JRuby的性能仍然不如Ruby 1.9,但在很多情況下,它與MRI 1.8相當。就個人而言,我建議將JRuby視爲一種高級Ruby概念。它會運行Rails,但是,是的,你會發現你將無法跟隨教程一起學習,對於初學者來說,一切都會變得越來越難。 JRuby並不是一項令人畏縮的技術,但它可能更像是一個障礙,而不是你想作爲初學者克服的障礙。

無論如何,我強烈建議將TextMate副本的歐元解決掉,即使您不主要在其中進行開發。這是值得的每一分錢,然後一些。在該環境中工作一段時間,看看你是否真的需要你的IDE。我敢打賭你不會。

+2

+1不使用IDE。 IDE使得程序員變得愚蠢(它完成了選項卡,然後在.NET商店中使用類型調試器很常見) – cwninja 2009-10-28 01:29:44

+1

@cwninja,對於喜歡IDE,我很愚蠢。像textmate一樣不完整。哦,等等,它的確如此。與一些IDE相比,上下文無關。我沒有看到集成調試器出了什麼問題。叫我瘋了,但能夠確切地看到在運行時代碼中設置的所有值可能會有所幫助。 – 2009-10-28 14:24:16

+0

呃,「愚蠢」是苛刻的。也就是說,我在TextMate中編寫Ruby代碼速度更快。是的,我嘗試過使用Ruby IDE。我不會在沒有Java的情況下編寫Java,但Ruby是一個不同的野獸,應該這樣對待。 – 2009-10-28 16:22:50

1

我的問題是,是JRuby去 複雜的學習軌?

是的,因爲所有的教程,初學者文檔和大多數通常能夠幫助您的開發人員都假設使用了MRI,所以對於每個問題,您必須首先消除jRuby相關的原因。

從我所看到的,某些寶石 不支持在JRuby或事物 可能做了一些不同的 該生態系統。

用C本地擴展編寫的任何gem都需要移植到jRuby(反過來也是如此,但問題很少見)。

作爲一個學習者,我跟很多 教程從網上和書本 ,我很擔心,這可能會出現 工作或將難以得到工作 JRuby的。這個懷疑很好 成立?

我會說是,看我的第一點。

它是如何影響到部署 非JRuby的平臺,比如Heroku的 等?

您的開發環境越偏離您的生產環境,就會出現越多「古怪」的錯誤。另一種方法是部署到google app engine using jRuby.

另一方面,如果沒有需求,誰會寫jRuby教程?

+0

我鼓勵App Engine的概念,但是我再次爲Google工作。 :-) – 2009-10-28 00:37:24

+0

heh,但是如果你認爲* JRuby *會讓事情「不同」...... – DigitalRoss 2009-10-28 00:47:55

+0

沒錯,但對於heroku(沒有本地郵件,沒有後臺作業,只讀FS)也是一樣。我是一個heroku傢伙(對不起Bob),因爲我有一個深刻的印象,java會給我cooties和XML lurgy。 – cwninja 2009-10-28 01:32:51

1

我使用Netbeans,Textmate和Vim,但通常是Netbeans。我喜歡Netbeans的集成調試,它有時非常有用。 Netbeans和Vim是跨平臺的,這對我來說是一件大事。我討厭依賴僅適用於一個操作系統的軟件。我很確定我已經嘗試了Rails的每個IDE,而Netbeans是我的操作系統中最好的Rails IDE,但我離題了。

cwninja是關於JRuby的gem不兼容性的,儘管大多數gem都支持JRuby。有關支持的寶石,請參閱http://isitjruby.com/。 JRuby現在有很大的發展勢頭,並且是一個強大的開發選擇。從理論上講,選擇JRuby或MRI應該是無關緊要的,但是不要拘泥於此。 JRuby確實可以輕鬆地輕鬆切換1.8.x和1.9.x之間的ruby兼容性,但是您可以使用RVM(這恰好是炸彈)來實現這一點。

無論哪種方式,如果您正在考慮使用不同的Ruby解釋器,請看RVM。它使您可以輕鬆安裝和管理大多數Ruby解釋器。

0

看TBH從UNIX系統走向Windows系統的Ruby開發,好吧它似乎很愚蠢。如果你不想使用蘋果電腦,不要使用蘋果電腦,但是Windows上的許多東西只會工作得不好。你會花費更多的時間來處理東西,而不是做任何工作。

我建議不要使用代碼完成編輯器,它不會幫助你學習。我會說遠離它,直到你有了良好的語言基礎,在開始嘗試快捷方式之前學會在哪裏查找API等。如果你正在學習下面的教程,它可能只是添加了WTF的級別,因爲你學習的很可能會產生反效果,但是如果你確實去了Windows,JRuby可能是最好的要走的路。

祝你好運。

0

我從OS X開始,然後是Windows。我目前在Windows上使用JRuby,但仍然會回到Windows上的MRI來檢查行爲,這將會適應您的習慣。爲了與Ruby 1.9兼容,JRuby正在經歷許多變化,Ruby本身也是一個動人的目標。

看兩者之間的差異和報告錯誤雖然會最終增強您對兩者的理解,並有助於兩個團隊推動語言向前發展。

相關問題