Topic: Why use an IDE?

I'm curious why a lot of developers question Rails specifically because of a lack of IDE?

Why is an IDE so necessary in their eyes? What does it offer that Textmate doesn't?

http://danielfischer.com - Personal Web-Technology-Blog, Los Angeles.

Re: Why use an IDE?

There's a few things I've seen in other IDEs that I wouldn't mind having.

- smart auto-completion
- inline documentation
- refactoring tools (rename class, extract method, etc.)

TextMate sort of already has the inline docs and the others could probably be done with bundles. None of these are that high of a priority for me anyway. I'll take textmate's snippets over these any day.

Railscasts - Free Ruby on Rails Screencasts

Re: Why use an IDE?

IDE's were created to compensate for complicated languages.  The J2EE project I work on at my day job has at least 6 layers of frameworks, depending on what you are doing.  This means a few things. 

One is a lot of code to manage, which means I have to have separate projects, and dependency management.  Also, if I need to change one class name, it could affect hundreds of other files, in which case refactoring can be very useful. 

It also means that debugging is very difficult.  With rails you can usually get away with what I call the poor man's debugger, logging.  In this application, you might have to dig through 10-20 files just to debug one request.  Therefore, breakpointing and profiling are helpful. 

There are also code generator helpers.  For example, a very common idiom in Java is the Java Bean.  This is basically a data object with a series of instance variables, and setter and getter encapsulation methods.  This can get annoying to maintain, so IDE's provide helpers to generate all this code for you.

There are many other examples, but you get the point.

I can imagine a few good IDE type features that might be nice, but thankfully rails makes most of them unnecessary.  I'm so happy now with a command line and a text-editor.

Re: Why use an IDE?

OK, as a developer of the Ruby In Steel IDE (http://www.sapphiresteel.com) I'm biased. But I have to say that fast visual debugging is, in my view, an essential. You can develop apps in Rails without debugging, it's true, but the underlying code is huge and complicated, the Ruby language itself is also very complex (I am not of the opinion that Ruby is less complicated than Java, C#, Delphi etc.) and can produce some very subtle and difficult to diagnose side effects.

Other things an IDE gives you - all the features of a first rate editor, naturally; all the tools you need at the click of a mouse (no need to navigate around disk directories and command prompts), code navigation (GoTo, Class+method location navigation bars etc.), macros to program the editor and the environment, snippets to automate 'code-writing', IntelliSense to provide context-correct code completion lists, online context-sensitive documentation so there's no need to hunt around source code files looking for comments - error location to find and fix syntax errors instantly, and a whole lot more besides (for example, later in this summer we'll be adding visual Rails design tools and some other goodies...)

In short if an IDE gets in the way or slows you down, there's something wrong with the IDE ;-) A good IDE should always help you to develop bug-free, maintainable applications much more rapidly than would be possible if you were using an editor and commandline tools.

Re: Why use an IDE?

I've been using e for a while but only for the tab complete and the colour schemes from Textmate. It lacks so much which I would like to see and its file management (on my machine at least) is slow and inaccurate (double clicking a file can cause it to move to a complete different folder half way down the navigation structure!).

Unfortunatly, without getting a Mac I don't have much choice right now.

Re: Why use an IDE?

To me though, it feels like IDE's are clunky and slow compared to something lightweight like textmate.

What I especially wonder the most though, is that I love having a multi-monitor workflow set up, how would I take advantage of this in an IDE? To me it feels like an IDE is a "one screen deal."

http://danielfischer.com - Personal Web-Technology-Blog, Los Angeles.

Re: Why use an IDE?

DFischer wrote:

To me though, it feels like IDE's are clunky and slow compared to something lightweight like textmate.

What I especially wonder the most though, is that I love having a multi-monitor workflow set up, how would I take advantage of this in an IDE? To me it feels like an IDE is a "one screen deal."

I can't talk about other IDEs, but in Ruby In Steel you can dock, float or tab windows so that if you are using multiple monitors, you could, for example, float the windows across the monitors - e.g. have a full screen editor in one monitor, the Solution Explorer (project manager) and interactive console in a 2nd monitor, a web browser and error panel in a 3rd (if you are lucky enough to have 3 monitors!) and so on...

Or you can just dock all of the above windows into a single monitor or place them 'behind one another' in tabbed pages and so on... wink

best wishes
Huw

Re: Why use an IDE?

I'd be more likely to use something like Ruby in Steel if there was a way to use Textmate colour schemes. At the moment the colours don't work for me - but thats just me.

Also, I would have liked a way to simply open an existing folder as a project and go from there.

Re: Why use an IDE?

You can create your own colour schemes for Ruby In Steel: Tools->Options->Text Editor->Ruby (or Rails for rhtml).

The free Personal Edition lets you colour most common syntax elements. The commercial Developer Edition also lets you colour a large range of other items (e.g. a method definition such as def myMethod may have a different colour from a method call such as ob.myMethod ) as well as options for colouring the interactive console. Most other windows can be coloured using the standard Visual Studio options. You can also set your preferred fonts (I'm told that TextMate users like the Monaco font which you can download if you Google for it).

You can also save or load named colour schemes: Tools->Import and Export Settings (then make the appropriate selections) - e.g. to save a colour scheme: Export Selected Environment Settings, Next, Uncheck All Settings, now select Options->Environment-Fonts and Colors. Then continue to save your settings to load later or exchange with other users.

As for reading in an existing project folder. In the free edition, you have to import this to a new location (File->Import). The Developer edition also has a 'convert in place' option (File->Open->Convert) which leaves all the files and folders in their original locations (and untouched) then creates a Visual Studio project and Solution from them.

best wishes
Huw

Re: Why use an IDE?

Well I'll give it another try in a bit. (edit: i better be quick my trial runs out on the 30th - really should have only downloaded it when I actually wanted to use it wink)

Also, can I suggest making getting hold of trial easier? Its just a bit cumbersome to have to go through a shopping system for it. smile

Last edited by shadow (2007-05-27 12:21:50)