3

我是一名初学者,接近中级 Rails 开发人员,正在努力提高我的技能。

我对 JRuby 的状态以及从 MRI 切换到它是否是可行的替代方案感到有些困惑。

目前,我在家中运行 Mac 并使用 textedit 进行编辑(用于 ruby​​ 的 MRI,用于 rails 命令的终端等)。在工作中,我在 Windows 上使用 NetBeans,但不在那里做任何 Ruby 工作。

由于与这次谈话无关的原因,我正在认真考虑放弃 Mac,但我担心一旦我在 Windows 上,对 Ruby 的支持将不是最佳的(我可能错了)。

我真的很喜欢在工作中使用 Netbeans,而且我可以看到在 Windows 上使用 JRuby 和 Netbeans 并允许 JRuby 管理我的 gem 将是一种相对愉快的体验。我喜欢代码完成和完整 IDE 的想法,而不是文本编辑器(无需启动编辑器火焰战)。

我的问题是,JRuby 会让学习轨道复杂化吗?从我所见,JRuby 不支持某些 gem,或者在那个生态系统中做的事情可能会有所不同。作为一名学习者,我从网络和书籍上学习了很多教程,我担心事情可能无法正常工作或很难在 JRuby 上工作。这种怀疑是否有根据?或者它应该是一个相对无痛的开关?它如何影响在 Heroku 等非 JRuby 平台上的部署?

我仍在权衡很多选择,包括 Windows 上的 MRI、OpenSolaris 上的 MRI 或 JRuby 等。我认为无论哪种方式我都会使用 Netbeans。

任何意见表示赞赏。

4

5 回答 5

2

实际上,您不需要 Rails 的代码完成。TextMate 是迄今为止 Ruby 世界中最常用的编辑器,它对于 Ruby 中的一切都绰绰有余。Ruby 不需要像 Java 那样多的工具支持。所以我想说,如果编辑器问题是您选择 JRuby 的唯一原因,那么这不是一个很好的理由。因为您是对的,所以有很多 gem 在 JRuby 中不起作用,因为它们使用某种本机扩展。也就是说,最流行的 gem 往往在 JRuby 中工作。JRuby 的性能仍然不如 Ruby 1.9,但在很多情况下它与 MRI 1.8 相当。就个人而言,我建议将 JRuby 视为高级 Ruby 概念。它会运行 Rails,但是是的,你会发现你赢了 不能只按照教程进行操作,对于初学者来说,一切都会变得更加困难。JRuby 并不是一项特别令人生畏的技术,但它可能比您作为初学者想要克服的障碍更大。

无论如何,我强烈建议您花欧元购买 TextMate 的副本,即使您主要不是在其中进行开发。它值得每一分钱,然后是一些。在那个环境中工作一段时间,看看你是否真的需要你的 IDE。我打赌你不会。

于 2009-10-28T00:32:33.423 回答
1

我的问题是,JRuby 会让学习轨道复杂化吗?

是的,因为所有的教程、初学者文档和大多数通常能够帮助您的开发人员都假设 MRI,所以对于您遇到的每个问题,您必须首先消除与 jRuby 相关的原因。

从我所见,JRuby 不支持某些 gem,或者在那个生态系统中做的事情可能会有所不同。

任何使用 C 原生扩展编写的 gem 都需要移植到 jRuby(反之亦然,但问题较少)。

作为一名学习者,我从网络和书籍上学习了很多教程,我担心事情可能无法正常工作或很难在 JRuby 上工作。这种怀疑是否有根据?

我会说是的,请参阅我的第一点。

它如何影响在 Heroku 等非 JRuby 平台上的部署?

您的开发环境越偏离生产环境,就会出现越多“古怪”的错误。另一种方法是使用 jRuby 部署到谷歌应用引擎。

另一方面,如果没有需求,谁来编写 jRuby 教程?

于 2009-10-28T00:31:16.953 回答
1

我使用 Netbeans、Textmate 和 Vim,但通常使用 Netbeans。我喜欢 Netbeans 的集成调试,它有时非常有用。Netbeans 和 Vim 是跨平台的,这对我来说很重要。我讨厌依赖仅适用于一个操作系统的软件。我很确定我已经尝试过几乎所有的 Rails IDE,而 Netbeans 是我认为最好的 Rails IDE,但我离题了。

cwninja 对 JRuby 的 gem 不兼容是正确的,尽管 JRuby 支持大多数 gem。有关支持的 gem,请参见http://isitjruby.com/ 。JRuby 现在有很大的发展势头,是一个强大的开发选择。从理论上讲,选择 JRuby 或 MRI 应该是无关紧要的,但不要强迫我这样做。JRuby 确实允许在 1.8.x 和 1.9.x 之间轻松切换 ruby​​ 兼容性,但是您可以再次使用RVM(它恰好是炸弹)来实现这一点。

无论哪种方式,如果您正在考虑使用不同的 ruby​​ 解释器,请查看RVM。它使您可以轻松地轻松安装和管理大多数 ruby​​ 解释器。

于 2009-10-28T01:29:42.003 回答
0

看看 TBH 从 UNIX 系统转向 Ruby 开发的 Windows 系统,这看起来很愚蠢。如果您不想使用 Mac,请不要使用 Mac,但是 Windows 上的很多东西都不能很好地工作。比起做任何工作,你会花更多的时间搞砸东西来让它工作。

我建议不要使用代码完成编辑器,它不会帮助您学习。我会说远离那个,直到你有一个良好的语言基础,在你开始尝试快捷方式之前学习在哪里查找 API 等。

JRuby 绝对是 MRI ruby​​ 的一个很好的替代品,但是如果您正在学习教程,它可能只是添加 WTF 级别,因为您了解到这可能会适得其反,但如果您确实使用 Windows,JRuby 可能是最好的选择。

祝你好运。

于 2009-10-28T04:06:31.887 回答
0

我从 OS X 上的 MRI 开始,然后是 Windows。我目前在 Windows 上使用 JRuby,但仍然在 Windows 上使用 MRI 来检查行为,这是你会习惯的。JRuby 正在进行大量更改以使其与 Ruby 1.9 兼容,而 Ruby 本身在某种程度上是一个移动的目标。

查看两者之间的差异并报告错误最终将加强您对两者的理解,并将帮助两个团队推动语言向前发展。

于 2009-11-10T16:53:09.287 回答