使用Rails的IDE会妨碍我的开发吗?

5
我刚接触Ruby on Rails,目前为止,我学习它非常有趣。从.NET世界来看,这是一个相当大的转变,因为我的IDE(Visual Studio 2008)基本上可以处理一切,而在Rails中,所有事情都是通过多个应用程序(终端、TextMate等)完成的。
我开始更仔细地研究RubyMine作为Rails开发的IDE,作为IDEA和ReSharper的忠实粉丝,我自然喜欢RubyMine。它具有代码自动完成、内置的RSpec支持、SVN集成等功能。然而,由于IDE处理了如此多的“Rails经验”,我想知道是否应该坚持使用TextMate+Terminal方法。
像RubyMine这样的Ruby/Rails IDE会妨碍我的发展吗?
9个回答

10
免责声明:我只是短暂地使用过Ruby。但我相信,作为一名.NET开发人员学习其他语言的经验对您很有价值。
我将不同意大多数人的观点,并建议使用IDE。 IDE的存在是为了让您的生活更轻松,而不是更困难。 我知道从.NET背景中自动完成是我学习语言的方式。我不读文档。我看看我的IDE建议什么,然后看看它做了什么。
我真的不会太担心不知道背景上发生了什么的全部细节,到需要时您会弄清楚的。同时,您将有足够的时间学习该语言的各个方面。您需要尽可能多的帮助,如果您以前编写过.NET,则IDE将是一种巨大的帮助。

非常有趣的观点。谢谢。 - Robert S.
2
这就是争论的另一面:在你需要知道它们之前,隐藏细节问题。这样做的好处是节省了启动时间。 - Merritt
@Merritt:确实,我之前没有考虑到这一点。Visual Studio中的Intellisense确实使事情变得更容易,但同时,当我使用新的API时,我经常会“深入挖掘”Intellisense提供的选择。也许这个技巧在RoR中也适用。 - Robert S.
2
+1 for "自动补全是我学习语言的方式"。我非常赞同这个观点。 - mmdemirbas

2
我建议开始时使用基础工具(终端和简单的文本编辑器),直到你真正掌握了Ruby on Rails。一旦你对框架有了基本的理解,再转向使用集成开发环境(IDE)。
在我看来,如果你想学习,可以使用终端和编辑器,但如果你想提高生产力,最好使用IDE。
在家里,由于我正在学习Ruby on Rails,所以我使用基本设置。然而,在工作中,我是一名Java开发人员,所以我使用IDE。使用IDE可以让我不必担心繁琐的小任务,只需关注编程。像自动补全、集成svn和集成调试工具这样的工具可以提高我的生产力。
此外,我认为特定的IDE并不重要。它们都具有类似的功能。无论你最舒适使用哪个,那就是最好的。

当我开始学习Rails时,我放弃了IDE,开始使用Textmate,并且再也没有回到使用IDE进行Rails开发。另一件我可以不用的事情是所有的脚手架示例。 - Mark

1

试试Netbeans Ruby Edition。它不如RubyMine那么好用,但它具有内置的svn支持和类似TextMate的模板。我喜欢它,但话说回来,我还没有发布我正在开发的项目,所以对于生产力方面我不能多说。


Netbeans在方法名称上具有适当的自动完成/智能感知功能,而文本编辑器则没有,如果您无法记住整个Ruby标准库,则非常好! - Kris

1

记住,开源世界是关于选择的,所以有很多IDE可供选择。一个流行的IDE是Eclipse,它应该包括rails开发作为插件(安装非常简单)。Netbeans也支持rails IIRC。

也许现在是时候使用基本组件工具并找到一个IDE了。我总是发现,在开始学习一门新语言时,先了解原始工具链和如何工作会有所帮助,然后再自动化。

个人而言,除非是Java开发(本身就很复杂),否则我会避免传统的IDE,而使用Vim/Gedit/Makefiles和其他自动化的模块化解决方案。

GEdit在Linux/Gnome上是一个很好的折中方案。你有一个基本的文本编辑器,带有语法高亮和嵌入式终端。然后,如果你需要,可以添加自动完成和类浏览插件。

祝你好运!


我担心我会过于依赖IDE,因此如果有机会在Rails商店中没有它,我将无法工作。 - Robert S.
IDE依赖是一个问题。从一开始我就使用shell和基本工具。当我看到一个带有所有不必要的菜单和按钮的IDE时,我几乎心脏病发作,认为“底层更简单”。我建议小心使用IDE!:) 或者一个支持多种语言在同一工作流程中的标准IDE。 - Aiden Bell

1

我持有与其他人不同的态度。我认为,如果你不使用集成开发环境,对于大多数问题,你将花费大量时间在学习基础知识上,而这些知识通常隐藏在黑暗的角落里。集成开发环境可以让你的生活更轻松,在大多数情况下,它们实际上会教你关于所使用软件平台的知识。代码建议、自动格式化、集成帮助等功能可以帮助你更快地发现语言的特性,而比如记事本这样的工具则无法做到这一点。

当然,了解工具链也很重要,但我更喜欢在使用集成开发环境的同时进行学习。看看集成开发环境选择以某种方式执行某项操作的原因和方法。在许多情况下,集成开发环境会使用最佳实践或最流行的实践,从中你可以学到很多东西。


这是一个非常好的观点。例如,Netbeans似乎包装了Rails和Rake命令。很明显正在发生什么。 - Robert S.

1

当我在Ubuntu上学习时,我使用gedit。我尝试使用不同的插件使其像TextMate。

我喜欢在学习过程中使用终端,因为它可以帮助你理解构建过程的所有方面。使用像RubyMine或Eclipse这样的重型IDE可能会隐藏所有这些,从而限制您对“底层”正在发生的事情的理解。通常,这种缺乏知识会在您开始开发更复杂的应用程序时带来问题。

在我看来,在IDE中支持SVN有点多余。只需打开终端以管理您的存储库,或者使用一些GUI工具如Tortoise即可轻松完成。

我认为使用RubyMine这样的IDE的唯一真正好处是自动/代码完成功能。我也是ReSharper的忠实粉丝(用于C#开发),当我学习Rails时,我也很想拥有类似的工具-但是TextMate是否支持自动/代码完成?

我会说,如果可能的话,请至少在几个月甚至一年后再考虑使用RubyMine。您必须做额外的工作,但长期来看会得到回报。坚持使用TextMate。


1

我也曾使用过RubyMine,它是一款出色的IDE(自然而然,作为JetBrains工具),但作为一个相对新手的Rails开发者,我发现它为我做了太多的事情。它往往会掩盖幕后真正发生的事情。然而,对于那些已经习惯了在调试器中逐步执行代码并检查变量的人来说,RubyMine非常有帮助,实际上增加了我对代码的理解(当然Netbeans和其他工具也可以做到这一点;我只是真的喜欢RubyMine的处理方式)。

因此,总的来说,我和大多数人说的一样:IDE使用的某些方面可以使事情更清晰;只要确保IDE不成为你的依赖。


1
每当我尝试学习/采用一种语言/框架时,我会尝试使用一个基本的编辑器... 语法高亮... 然后随着我的学习,我喜欢添加像即时语法检查器这样的东西(netbeans在这方面非常棒)。然后随着我的进步和对语言/框架的理解,我开始添加像代码片段/代码完成这样的东西。在某个时候,你可能会看到一个更适合你的工具,但它没有像即时语法检查这样的功能... 但在那个阶段,由于你的进步,这将不再重要。
就我个人而言,我使用带有jVi插件的netbeans... 语法高亮,语法检查,调试等几乎都是开箱即用的... (jVi插件需要进行一些自定义)。
然而,我偶尔会使用textmate或vim与rails.vim。

0
如果你来自.net/VS背景,我建议使用一个IDE。我是一名C#开发人员,在业余时间使用Ruby和Rails(所以我不是一个“专业的Ruby人员”),正如Jack Ryan所说,我们.net开发人员习惯于一种学习方式。当你有一个IDE显示自动完成选项和相关文档并排出现时,学习东西会更容易。这样你就可以快速学习。
但是对于像运行生成器、rake任务、测试等这样的东西,你可以在开始时使用控制台(嘿,你可以同时使用控制台和IDE,对吧?:))。这样你就能了解“引擎盖下”的情况。后来,你可以使用你的IDE的“运行器”或其他工具以GUI方式运行相同的东西。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接