One of the things I picked up in my last job (pure J2EE/Swing) was Jetbrains IntelliJ IDEA. It’s a great tool and for me is one of the things that just works. I know a lot of people use eclipse and netbeans, but for me I want something that just works and the best results I’ve had is IDEA. I use netbeans for ruby editing (The 6.0 ruby editing is great!) but as a day to day development environment IDEA for me is focussed on getting things done. I think while the community does develop great things, when an IDE costs money it gives it that extra impetus I find. IBM, SAP and CodeGear all develop on top of Eclipse but the value of the platform is in the functionality they provide on top of it. I’ve used the SAP devtools and IBM WID (Websphere Integration Developer) and to me they’ve always been a little flaky, slow and suffer a bit from multiple personality disorder. The one thing I like most about IDEA is that it’s blindingly fast and light.
It’s a tool that I’ve introduced at my current work and I’ve tried not to push it too much but through people checking out trials we’ve gained slow adoption to about 75% of the team. One really good thing about the philosophy here is that we’re IDE independent, at least on the java side. This means ant, nant and cruisecontrol are our build tools and the IDE choice is up to you. It’s a winning philosophy in that we accept that the skills and knowledge of the developers means by trusting them to adopt what’s right for them will mean that they’ll do what’s right by the product. It’s a bit like shared space road design, if something seems risky, they’ll think about what they’re doing which typically results in better outcomes. Then again our team is very heavily slanted towards senior level developers, so in this context, it works well.
The other thing I do here is .net development and coming back to Visual Studio after a hiatus was a real shock. Visual Studio as I remember was a great IDE, in fact I used to use it to do java development (Microsoft’s JVM + COM) and at the time it was one of the best. After being spoilt I guess by the great quality Java IDE’s out there, it was a real shock coming back and finding that it seemed so similar. Visual studio is a good IDE, but I’m a strong believer in that in IT today, if you’re not going forward then relatively you’re going backwards. The problem I think is that there are literally millions of developers who have never tried anything else, through either no need or no motivation, and it works for them. So to some extent I think changes are evolutionary rather than revolutionary, the peril of customers I guess. I discovered Resharper and it’s been a great help in productivity in Visual Studio. When I use IDEA coding tends to be like morse code, first few chars, ctrl+space. It’s smart enough not to throw the whole world at me and knows what i’m referring to. With touch typing it lets me output code almost as fast as I think and it means I get the feeling my IDE works with me and doesn’t get in the way. With Resharper 3.0 it’s now exact same key combo’s which means I can switch between IDE’s and not have to context shift. The work I do means I tend to be doing both java and C# at the same time which is probably a bit rare. This is an absolute boon for my productivity and I think it’s a credit to the guy’s at JetBrains that they’ve made such a pair of great IDE’s. They just need to get their j/ruby plugin cooking, oh and while we’re on wish lists I’d like a Scala and Erlang one as well, but maybe the Meta programming system will usurp them all. 🙂