| d2r diego's weblog |
...and the great IDE huntAside from trying out the new J2SE 1.5 beta, I've been looking at IDEs, since we're now going to buy some extra licenses I wanted to make sure we made a good choice. IDEA, a longtime favorite of mine, is sadly out of the picture for reasons unrelated to development which I'll discuss later. (The increased bloatedness of the product --There's a bazillion features on the upcoming IDEA 4.0 that mean nothing to me whatsoever-- also weighs in). Don't bother posting comments saying that I'm an idiot for ditching IDEA. I think it's one of the best IDEs out there and it's probably a good choice for many people, but there are circumstances that go beyond the IDE that made it impossible to depend on it. As I said, I'll talk about that later. So what have I been looking at--particularly with the change to JDK 1.5 now on the horizon? Well, the first IDE I checked out was CodeGuide from Omnicore. Using CodeGuide today took me back to how I felt when I tried IDEA for the first time nearly three years ago. It is simple, small, fast, and it looks good (Best looking Java IDE I've seen, in fact, better than Eclipse). Additionally, the latest CodeGuide is the first IDE with a final release (6.1) to fully support Tiger features, including an uber-cool refactoring called "Generify" which helps a lot in converting old projects to use generics. What's even better about CodeGuide is what's on the pipeline: CodeGuide 7.0 (codenamed "Amethyst") will include a new "back in time" debugger. Check out the webpage where they describe this new feature. Is that fantastic or what? It seems that Omnicore is really committed to keeping an edge on good functionality and maintaining a simple IDE while including more advanced features. CodeGuide does have some bad points: it doesn't seem to support some of the standard keybindings on Windows (Ctrl+Insert, Shift+Insert, etc) which is not good for keyboard junkies like me, and its code generation/formatting facilities are pretty limited (among other things). Sadly, these seemingly trivial problems are pretty big when dealing day-to-day with large amounts of code, and they can easily end up being show-stoppers. I also tried out the latest JBuilder (JBuilder X) and it's improved quite a lot over the last few revs, and is now easier to use as well. The UI designer is nice but as usual it has the terrible habit of sprinkling the code with references to Borland's own libraries (layout classes are a good example), which bloat your app without a clear advantage. Pricing is ridiculous for anything but the Foundation version though, and their focus on Enterprise features means that there are probably more control panels in it than on the main console of the Space Shuttle. Finally, I tried NetBeans 3.6Beta, and I have to say I was impressed (my expectations were pretty low though, having used early version of it...). It's reasonably fast and looks pretty good, and the UI designer generates simple code which I think makes it very useful for prototyping (I don't really believe on UI designers for building the final app, but that's just me). Charles commented on the release here. It is a bit on the heavy side in terms of features and that's always a problem since I end up navigating menus with feature after feature that I don't really care about (Eclipse can also be daunting in this sense). And what about Eclipse? Well, I'm waiting for the release of 3.0M7, due tomorrow. We'll see. :) I'll post an update with my impressions after I've tried it, with conclusions to follow. Categories: soft.devPosted by diego on February 8 2004 at 1:26 PM Comments (please see the comments & trackback policy).
Actually Diego, 3.0M7 isn't due out until Friday, February the 13th Posted by: R.J. at February 8, 2004 7:26 PMTill then, you'd better try 3.0M4 instead of M6 ... Posted by: Adrian at February 8, 2004 9:09 PMBe curious to know if you gave Oracle's JDeveloper 10g release a run for its money in your IDE search? http://otn.oracle.com/products/jdev/collateral/prodtour10g.html Given your comments above, its download size probably scared you off, but using our "Extension Manager" you can turn off all the features you don't care to use and might it as light and tiny as you need to. It doesn't yet support Tiger, but might be worth a try if you want to give all the major players a try. Posted by: Steve Muench at February 8, 2004 9:54 PMIDEA had "Generify" way before CodeGuide did. :) It's called "Cook Raw Types." You might also like IDEA's UI designer, if you only like UI designers for prototyping, it might change your mind, it did for me. Posted by: Keith Lea at February 9, 2004 3:22 AMR.J., thanks for the correction on M7's release Date. Adrian: I have used M3 through M6 before, so I already know Eclipse. I just want to hold off until M7 which is where several APIs are going to be frozen. Steve: the download size is indeed scary! (230 MB). Thanks for the pointer though, I'll post comments on it later. Keith, quoting from the post: "There are circumstances that go beyond the IDE that made it impossible to depend on [IDEA]. As I said, I'll talk about that later." Posted by: Diego at February 9, 2004 12:06 PM"IDEA had "Generify" way before CodeGuide did. :) It's called "Cook Raw Types." You might also like IDEA's UI designer, if you only like UI designers for prototyping, it might change your mind, it did for me." Just to clarify: CodeGuide's Generify refactoring annotates generic type information in the whole project including method signatures. The generic types are infered by CodeGuide by analyzing the existing code. Is that what "Cook Raw Types" does as well?
"CodeGuide does have some bad points: it doesn't seem to support some of the standard keybindings on Windows (Ctrl+Insert, Shift+Insert, etc) which is not good for keyboard junkies like me [...]." This can easily be helped by choosing the Windows keybinding profile in the Editor | Keybindings section of the Preferences Dialog. Hans, Thanks for the pointer on changing the keybindings! The other issue (that of limited code generation/formatting capabilities) is still a problem (for me at least). I haven't been able to configure CodeGuide so that it automatically formats code the way I need it (And so I have to change things constantly, indentation, etc--granted, the way I format code is probably not too common, but both IDEA and Eclipse handle it ok). Regarding the Cook Raw types in IDEA, I don't know who was first :), but I think it does exactly what you describe. The IDEA help file shows a complete example, but you can see a small example regarding that here: http://www.oreillynet.com/pub/wlg/4268. We have had Generify since at least Summer 2003. ;-) AFAICS IntelliJ's "Cook raw types" refactoring only affects the current file and does not determine generic type bounds globally. Thus it can not be used to generify full projects including method parameters, return types, etc. CodeGuide currently does not provide automatic formatting besides indentation and brace style conversion. You can autoindent the current file using Ctrl-TAB. What problems do you have with indentation/what is your indentation style? BTW: Feel free to raise any problems you experience in our issue tracker or support forum: Copyright © Diego Doval 2002-2007.
|
