Subscribe to
NSLog(); Header Image

Developer Tools

A short while back I wrote about the impact of free developer tools. Lately, however, I've been itching to spend $250 or so on a truly professional IDE. One that doesn't quit as often as Project Builder likes to quit because CVS updated a file it had open (or whatever causes it to tank). Itching!

Jeff writes about Eclipse, citing previous posts by Buzz Anderson and Michael Tsai (whose article is little more than a quote from Buzz Anderson, but with a good discussion tacked on).

What's Eclipse got that Project Builder lacks? Well, let's have a look.

What am I addicted to? Automatic compilation constantly happening in the background, with errors displayed in your code in real time. Content assist that shows available types, methods, and variables. with associated documentation. Effortless refactoring support. Wicked CVS integration.

All very cool. Refactoring would be awesome - I spend a lot of time, especially early on, renaming methods to get the names just right, and sometimes I later rename them for further clarity or cohesiveness, and the only "refactoring" support in Project Builder right now is "Batch Find." Find the times you used that method, go back, rename each one separately… Zzzzzzz.

I spent five minutes yesterday trying to figure out why a NSURL was nil. Silly me, I'd passed in an NSString: had a thing popped up showing me either my error as I wrote the code or the available types before I'd even typed it to begin with, that's five minutes I'd have saved. Multiply that five minutes by the four times or so that might happen per day and you've got a more productive developer.

Bah, the more I think about this the more I'll get depressed. The more I look at this page on IDEA from IntelliJ the more I'll get depressed. I'm not a Java developer, nor do I plan to be. But the more and more and more I use Project Builder, the more I'm aware of its limitations. As I continue to run Freshly Squeezed Software and whatnot, the more those limitations cost me money (time is money!). Hrmph.

And no, CodeWarrior is not an option. Is it?

4 Responses to "Developer Tools"

  1. Refactoring is an absolute killer app--I really hate it when I decide a class should have been named differently in Project Builder. I have to change both file names, as well as the class names and all references to the classnames or files. In Eclipse, it's basically a one step operation!

    It's funny--I actually used to be the kind of person who scoffs at really fancy IDEs. After using Eclipse for awhile, though, the productivity gains are stunning. I used to spend an inordinate amount of time, for example, enclosing code in "try/catch" blocks to catch exceptions. With Eclipse, when you haven't caught an exception, you simply click on the little light bulb thingy and it suggest a variety of options--do you want to add a throws clause to the method or surround the code with a catch block. There is tons of other stuff like that!

    I have often thought about how Eclipse could be adapted to Cocoa--it is supposed to be a "universal tool platform" after all, and they're supposedly working on a C/C++ tool for it. It's still a bit slow on the Mac, but I think that's going to get better, and if it could be adapted to work with Objective-C as well, I think it would give Project Builder a serious run for its money!

  2. Don't get into Eclipse is you're looking for something that crashes less than PBX. Eclipse crashes even more.

    It's not a shining example of a Mac OS X app, either. Basic things like views are broken.

    Refactoring is cool, when it works. I stopped using that feature, since it would as often as not corrupt the source code. Sure, you have unlimited undo, but I found subtle corruption in long source files that I thought were originally refactored correctly. Basically, I lost all confidence in using that feature.

    What does work, is great, but I've officially have given up on Eclipse for the immediate future.

    After my current WebObjects project, I'm writing some desktop software, and I'll be springing for CodeWarrior Pro. I had the pleasure of using it again after about three years, and it felt like using a Mac again.

  3. Once upon a time, I thought some of the mailing list posts I had seen about PB and IB crashing were flukes, but now I'm working on a set of projects that can pretty reliably crash either of them. I haven't seen the recent CodeWarrior versions, though we do have a license at the office. Slowly I've been playing with the script support in PB and it's... odd to say the least. The sample scripts that do HeaderDoc stuff are cool, but not all that useful. PB scripting in general is just really wierd, and I have yet to find anyplace online that has user submitted scripts for PB.

    What I had been using for Java work is JEdit. There is a very cool plugin that applies the Sun java style guidelines to your code, fixing indents and whatnot, AND parses your methods and sets up the JavaDoc comments for you. I would kill to get PB or BBEdit to do that for objective-c headerdoc comments!

  4. Apple Complaint #2: Project Builder

    The recent discussion about Eclipse on Erik's, and Michael's, and Jeff's and my blog says it all: Project Builder simply does not stand up to comparison with the newest generation of development environments for Java and (dare I say it!) .NET.