I use 4 but I don't think it's particularly good. It improved over 3 in a lot of ways, but it also had some huge steps backwards (why can't I have the debugger in a separate window so it can be on my other monitor?)
I'm also not sure why Interface Builder being integrated is considered a good thing. Designing interfaces is different than writing code, in adherence with the Unix philosophy they really should be separate applications.
Enough grumbling for now... back to work. In XCode 4.
Edit: to qualify my claims.
Slow -- Need I say more? I'm on a MacBook, 4GB of ram, pretty standard hardware. I can't even scroll without stuttering. Apple: at least support your own damn baseline.
Buggy -- The split view is so broken. And tab titles aren't always updated when switching files, which hugely hinders usability. And it sets CC=llvm-gcc... why, why, why, why?!?! There's more but I don't feel like getting into it.
Unstable -- crashes about once a day, more if I'm swapping devices or using Instruments.
Bloated -- 10GB? Really? I didn't realize rounded corners and a compiler took up so much space.
These two features (or lack thereof) sent me running straight back to Xcode 3. Took about 5 minutes, 3 minutes of which was searching for any way of getting at the disassembly window. I suppose I could have worked around the scripts thing if push came to shove.
Anyway, there appears to me to be every reason to stick with Xcode 3 rather than Xcode 4, though maybe Xcode 4 might be OK if you're not some kind of freak, as I appear to be.
I need to be able to build/test for OSX 10.3.9, which isn't something that I can do on xcode 4.
Though, for my company, the production building is done with xcode 2.something.
For my personal projects, I love xcode 4, so much of an improvement over 3.x.
Secondly, what is the "If you're not an iOS developer, this poll doesn't really apply." about? I (occasionally) use Xcode to build command-line tools. Do you want me to vote or not?
You're correct, you can bind keyboard shortcuts to most actions in Xcode. The problem is that the UI seems to have been built with the mouse in mind, with keyboard navigation as an afterthought. Is it really all that useful that I can pull up a dropdown menu with a shortcut if I still have to arrow up/down to pick my file? AppCode allows me to pull up a list of recent files with a shortcut and has the last file edited as the top option. This allows me to quickly switch between two files. In Xcode I can pull up the recent files menu, but it's not ordered in terms of recent usage, so I'm constantly having to find my place in it.
And there are some functions I couldn't find a way to bind. Can I bind a key to 'jump to definition'? Or how about 'find usages' or 'rename variable'? I tried to make Xcode work for me, but I just felt like I was having to fight against how Apple wanted me to use it.
It could be that coming from the Java world and using IDEA I was just more used to the default shortcuts. But I really think that IntelliJ puts a lot of thought into keyboard navigation and builds the UI to be more conducive to keyboard navigation.
4.0 on iMac.