From: Curt Hibbs Date: 2002-12-12T15:16:48+09:00 Subject: Re: The coolest thing since sliced bread Gavin Sinclair wrote: > > I've coded 2500 lines of Java in the last six days, and it works. > The reason? > IntelliJ. AFAIC, nothing could ever be a better text editor than Vim, and > IntelliJ doesn't come close. But Vim doesn't understand Java. > IntelliJ does, > and it is 1000 times better at coding Java than Vim is. IntelliJ can do > very-high-level things - automatically include "import" statements, rename > classes, methods, variables (with all usages - and ONLY usages - renamed), > extract methods from blocks of code, create methods from usage, > create iterator > templates, extract interfaces/superclasses from existing classes, inline a > method/variable, alert you to all kinds of errors, move classes > to different > packages, handle CVS, ... Without a doubt, IntelliJ IDEA is as good as it gets for Java development -- don't code without it! From the start of the FreeRIDE project, we viewed IntelliJ IDEA as a model. IntelliJ *knows* Java -- deeply. Similarly we want FreeRIDE to know Ruby and provide the same level of programmer support. Its more difficult to do for Ruby because of the dynamic typing, but I believe that it is possible to do at least 90% of what IntelliJ does for Java. This is also why it makes more sense to develop key bindings and such to emulate other editors, rather than simply plugin create editor plugins. With an Vim editor plugin you would probably miss out on these high-end features that will be intimately tied in with the editor (code completion, code assist, all sorts of refactoring support, etc). But creating key bindings to emulate your favorite editor (to the extent possible) would leave these very valuable features intact. I always said that if FreeRIDE simply tried to clone IntelliJ IDEA for Ruby, that alone would be a killer Ruby development tool. But we also have visions that go beyond IntelliJ. For example, we really want to support remote collaborative development with facilities like remote pair programming (synchronized editing) and integrated chat. I'd like to see built-in support for Agile/XP development practices, although I don't know yet exactly what form that would take. We've got a lot of really smart and capable people in the Ruby community. And FreeRIDE's goal is to provide a solid platform that makes it easy for Ruby programmers to build and integrate Ruby development tools while writing all of this in Ruby itself. "Build it, and they will come" :-) Curt > Long story short: using IntelliJ, I *manage* code more than > *write* it. And > thanks to its "external tools" support, when I need some raw > editing power, I > hit ALT-V and it opens the current file in Vim at the current line number. > > My unsolicited advice to the FreeRIDE team: keep up the good > work. Concentrate > on the ability to do very high-level things with Ruby code, and > the editing > details will be immaterial. As I've mentioned in an earlier > post, much of the > brilliance of IntelliJ relies on Java's type system, but seeing > as automatic > refactoring began with Smalltalk, I'm sure there's potential for Ruby. > > Gavin > > >