Alex headshot

AlBlue’s Blog

Macs, Modularity and More

XCode 4 and new features

2010 Git Eclipse Objectivec

It looks like the decision to close up ObjectivEClipse was probably the right one, since Apple have just released XCode 4, with a lot of new goodness inside. Even if we'd not closed up shop before the announcement, we would have done shortly afterwards.

Top on the list is built-in support for Git, the popular DVCS tool. In fact, they seem to have done what they always do, which is to let others experiment with a feature, find out its capabilities, and then once all is done, write a great UI on the top. The new XCode has a time-machine like time-slider for showing you how your code changed over time.

There's also support for Clang, a new Apple-sponsored and LLVM-backed compiler for C, C++ and Objective-C. This has been in beta support for a while; it wouldn't surprise me that the eventual switch for compiling for iOS uses Clang by default. One of the things that Clang does much better than gcc is its error messages; for example, see amazing feats of clang error recovery. In addition, the static analyser produces a lot of useful feedback to the compilation process, which uses the LLVM internals.

New is the lldb debugger (see the announcement), a replacement for gdb. Slowly but surely, gcc is being shown the door — and whilst it may be around for a while to come (especially for compilation of platform-portable code), it looks like Clang is the future of compilation on the Mac.

Given that Clang is platform-portable, open-source, and demonstrably better in certain aspects (e.g. the license is BSD and so can be compiled-in to projects, instead of externally invoked), how long will it be before other tools, like Eclipse CDT, take it up?