Well, it's been a while since we've opened this particular jar (box is not historically accurate) owned by Pandora. Desktop Linux... Yes, that ever elusive readiness of the desktop that is Linux-powered. Some story on ComputerWorld argues that the desktop Linux dream is dead, and apparently, the story is causing some stir on the web. Well, paint me pink and call me a lightbulb, but of course desktop Linux is dead. However - who gives a flying monkey? Linux is being used by more people than ever!

Is garbage collection that important to you? Are there other missing pieces?

Beside GC, Objective-C on the iPhone is pretty much Objective-C 2.2 now thanks to Clang (available in Xcode 3.2.x too).

I won't find them useful straight away but as I move onto larger and more complex projects it'll free up time to focus on the important stuff.

The first public preview of XCode 4 had GCC-LLVM by default but that might have changed since then and they've moved to Clang/LLVM by default given that C++ is now feature complete in 2.8. Maybe we'll be looking at LLVM/Clang 3.0 being the release that Apple will move over full time to LLVM/Clang.

If you focus on Objective-C only projects you get the almost full benefits of Clang for iOS code right now as Clang is a first citizen choice in terms of code compiled for iOS. Whenever it finds code it cannot work well with (like C++ and Objective-C++ code, it goes back to LLVM-GCC).

You get all of what is outlined in that link minus some kinks with @synthesize by default which, for now, still requires you to both declare the @property as well as call the @synthesize directive for that property, but you are free from having to also write the i-var manually in the class declaration too (in addition to the @property statement and the @synthesize one).

I personally only use Clang right now (Xcode 3.2.5) and I ahve not had major problems with it .