Finally, its been a month since I downloaded my Xcode 4. I couldn't spend much time on it, since I'm on my thesis. But I think I'll just review it for you guys interested in downloading it. So, here is my review on Xcode 4. Please notice that I'm a computer graphic programmer, so I won't go into iPhone SDK and the GUI Builder (which looks awesome at a glance). I only use my Xcode for C++, OpenGL, and any related graphic programming.
The biggest changes is the GUI. Its lovely! I like the idea of single window, and apparently the automatic double panel for assisted and version is too awesome ;) Assisted panel means that xcode automatically detect the code to be shown on the right editor, based on the left editor. It's either header-implementation, or class-superclass, etc. It's brilliant since you dont have to press the 'not so easy' shortcut to switch between header and implementation in previous editor. However, there are might be problem when you switch the file you want to view into something that you dont want to be viewed as a double panel, Xcode can't automatically switch the option. The simplest example is when you click your project name, Xcode views the project properties, but its a horizontally wide window that when you view it in double panel, it looks ugly. It rarely happens though.
The debugging window is now placed at the bottom of editor (you can hide it if you dont want to show it all the time). I'm not a big fan of this idea since it limits the view vertically, but redundant horizontally. You'll have to drag the border up and down to have a better viewing on the debugging. Also the compilation error panel is really tight so it's hard to find the error that you're looking for.
And another one complaint is the top panel is redundantly buttonless when they can put a lot of button to ease the access. Probably MS editable button panel still the best feature for GUI development.
Here is my typical Xcode GUI for me. I'm an std::cout mania, so dragging border up and down is almost obligatory in every compilation. It's very annoying and I wish they put a special window for the console.
I also use macbook pro so I can't imagine how redundant this single space in 24" or bigger monitor.
Maybe the biggest improvement is the GUI. I haven't notice anything new on this version. Probably because I'm not an iPhone programmer. The help documentation is now really cool, you can download the whole documentation from the website so you can view it offline (and faster). They still have a weird schema for the 'back' button, so I discourage you to used it. The GCC 4.2 is obligatory, and GCC 4.0 is not (yet?) implemented. It might not be a problem for you, but I got a massive game engine that depends on GCC 4.0. Until now, the developer can't fix this 'compatibility issue'.
They also implemented a real time compilation, so the error appears while you're coding. Sometimes it can be annoying, but it mostly helpful to avoid small error grows into huge error.
The snapshot is (finally) being useful. You can track your code by snapshotting it, and there's a viewer for it. It's Xcode way of versioning, but since it's tightly integrated to the editor, it makes it easy to implement.
It's (at last) a major increment from the previous Xcode. I encourage you to upgrade it. It cost you $4.99 if you're not subscribing Apple Developer Program. This is probably the best software update for Apple Developer. I never thought coding in iTunes would be this fun! ;)
What Went Right: Single Window is well implemented, real time compilation,
What Went Wrong: GCC 4.0?, double panel cant adapt for a non double panel file, not free