Or why the “lack” of an “IDE” is not a big deal for Ruby programmers.
Don’t get me wrong – I’d love to see an IntelliJ like IDE for Ruby. However, I’ve been working on a (personal) Ruby/Rails project for a while now – and I really haven’t felt that the lack of refactoring support or navigation support was holding me down in any way.
The only thing I can attribute this to is that the design/structure of my application makes the importance of these tools somewhat diminished. I’m just able to design the application in ways that the limited OO capabilities of a language like Java doesn’t allow me to. Meta-programming and features like mixins and real closures increase the expressiveness of code making it possible to break down functionality into extemely small and very clear aspects. This makes the application code-base simply a collection of exremely local peices of functionality.
And that makes all the difference.
Update 1: One aspect of the above is that design doesn’t have to be restricted to a combination of a single-inheritence-based class hierarchy and composition-based delegation for reuse. Think about that.
Update 2: I use Eclipse + RDT (+ RadRails) for editing the code.
Update 3: I’ve switched to using a mac, and I use emacs for all my editing.