tags:

views:

179

answers:

11

I've only ever learned to "program" with notepad when I was learning to create batch files in Windows.

I would appreciate if you can explain to me the benefits of working with an IDE over a text editor or vice versa. Please don't give emotional responses or argue someone else's suggestion/advice. I use Linux primarily. Also, I would like to be able to make programs that can be used in Windows, but programmed in Linux. Thanks.

+1  A: 

Debugging is much easier. Komodo and Eclipse provide IDEs that debug pretty well, but with ruby and python you can type code into the interpreter and if it works the way you expect, add it to your code files. IDEs also provide code coloring and text formatting but Notepad++ and other advanced text editors work nicely in this role. The final reason is integration with other useful tools such as source control and database managers.

marr75
A: 

You can use NetBeans IDE, it has support for Ruby/Rails and some other languages. You could also use Aptana RadRails

NetBeans supports color coding, debugging, has FireFox plugin, etc. link text

Zepplock
+1  A: 

My advice is pick a popular tool and stick with it. If you are genuinely proficient with a particular editor you'll be productive no matter what the language. Some features, like refactoring support, are nice and will help if you're learning. Once you are an experienced programmer you won't need quite so much hand-holding.

I've been using the same programming editor for more than 20 years. If you pick something like emacs, vi/vim or eclipse (and others) that have good cross-platform support you will only have to answer this question once. And while each has it's own strengths and weaknesses, the best editor is the one that you know best.

Personally I think emacs and vim are the best two choices for their maturity and ubiquity, but there are many other good choices.

Bryan Oakley
A: 

I personally like RubyMine from Jetbrains. Its a fully fledged Ruby ide.

I have also used Textmate quite a bit before that which is more of a text editor with a lot of extra features and packages.

Rubymine contains

  • a lot of automations it will help you
  • run and debug your scripts, it will
  • help you refactor your code
  • helps you setup and maintain unit testing
  • code completion / intellisense (sort of)
  • full integration with your version control software
  • it also well understands html and csss. (for your ruby on rails needs)

Another good one is Ruby in Steel this one is really great if you are used to the Visual Studio IDE, since it integrates inside of it.

Development 4.0
You swapped the URL and the name in your rubymine link.
Myrddin Emrys
A: 

With any language, not just Ruby, a good IDE gives you several benefits:

  • Integrated debugging. Conditional breakpoints, the ability to view call stacks & change context with a double-click, and grids where you can evaluate expressions as simple as a variable or as complex as a function call all make debugging much much easier.

  • Syntax coloring helps you to spot syntax errors before you compile.

  • Intellisense-type functionality helps you to quickly find functions and their parameters, and sometimes even fill in the default values for you.

  • Integrated build systems make it easier to create build scripts for complex systems than tweaking makefiles by hand.

At the same time, a bad IDE will make your life hell. Unfortunately, all IDEs seem to blend the good with the bad. There is no perfect IDE.

John Dibling
+1  A: 

Advantages of an advanced editor over notepad:

  • Syntax hilighting
  • Auto-indentation
  • If you run the code (or compile in case of compiled languages (doesn't apply to ruby)) and get an error, the editor can jump to the line where the error occured
  • Debugger support
  • code completion (doesn't usually work too well with ruby)
  • integration of irb (or equivalent environments (REPLs) for other languages)

Advantages of IDEs over advanced text editors:

  • Better code completion (still don't expect too fancy results for ruby)
  • Detecting errors while you type (this also does not work as well for ruby as e.g. java)
  • Better debugger-integration
  • Better project management

Disadvantages of IDEs: - Take longer to start - Use up more RAM - Usually require you to create a project to start coding. If you just want to try something out quickly, that's a bit of unnecessary overhead.

Note that I used emacs as my model for an advanced text editor (not every advanced editor has all the features I listed).

sepp2k
A: 

If you feel like learning an editor that will work for many different languages/tasks, consider using Emacs with RubyMode (partly written by Matz, the creator of Ruby himself) and inf-ruby:

http://www.emacswiki.org/emacs/RubyMode

Michael Kohl
A: 

IDEs typically have more overhead, are slower to start up, etc. At the same time, if you're in the IDE all day, then start up might not be as much of an issue, and unless you're running on a machine with limited resources, the memory footprint probably won't matter either. For me, having a good file/project management interface is important - pretty much all IDEs have this, some advanced text editors do too.

Since you're looking for a Linux/Windows solution then I'd suggest that Netbeans has pretty good Ruby support nowadays and runs on both of those platforms, it's also got a nice debugger.

From what I understand, a large number of Mac-based Ruby programmers run Textmate because of its "snippets" feature (amongst other things) - it's also got a file organizer thing which makes it seem sort of like an IDE. There is a Windows editor called E-TextEditor which bills itself as "The Power of TextMate on Windows". I guess this means it supports the same snippets feature as Textmate so that might be worth looking into.

mmacaulay
+1  A: 

I personally use one of two tools:

If I just need an editor, I use SciTE (programmer's text editor with code folding, syntax highlighting).

If I want a full-fledged IDE, I use FreeRIDE.

Both tools are cross-platform and open source. FreeRIDE is actually written in Ruby. IIRC, both can be installed from Ruby's "one-click installer" for Windows. SciTE is available from the package manager of most Linux distributions, and FreeRIDE can be downloaded from the link above.

If you are writing Ruby applications in Linux, they should also run in Windows without any problems (just make sure that you are not using any Ruby gems that are Linux-only).

bta
A: 

If you want to write cross platform programs you have a whole world of choice. Personally - I find web applications built with frameworks such as Ruby On Rails - http://guides.rails.info/ work great on all platforms generally, because you are offloading the cross platform compatibility to the browsers themselves, but not so good if you want to do really Rich UI ... yet. ( HTML5 will change that! )

Consider something like Mono for doing cross platform .NET - http://www.mono-project.com/Main_Page there are many more open source solutions - QT for example - http://qt.nokia.com/products Or Gtk - http://www.gtk.org/ - used for the development of GIMP - http://www.gimp.org/

For me its Jetbrains Rubymine for Rails up to 2.3.5 and good old VIM for anything else - http://www.vim.org/

Hey! FreeRIDE looks interesting!!.....

scaney
A: 

I would consider developing without using an IDE to be similar to digging a ditch without using a spade.

Mongus Pong