2009-10-28 42 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本身也是一个动人的目标。

看两者之间的差异和报告错误虽然会最终增强您对两者的理解,并有助于两个团队推动语言向前发展。

相关问题