Mike Ash posts his thoughts on what’s new in Leopard for developers.
- Garbage Collection
- Yes, this is a big deal, and Apple seems to have done a good job. I don’t know why people thought this would be impossible, though, given that other versions of Objective-C have had garbage collection for a long time.
- Objective-C 2.0
- Like Ash, I’m not really a fan of properties and find the new
for…in
syntax unexciting. However, given the addition of garbage collection and the changes in the 64-bit runtime, I think it definitely deserves to be called 2.0.
- Xcode 3
- You’d think that having a rock-solid IDE would be a high priority, but Xcode (like Project Builder before it) has consistently been “buggy and weird.” Like Ash says, it’s not as if there’s an alternative, but I spend as little time in it as possible.
- Interface Builder 3
- Overall a huge improvement. Too bad about 2.x palette compatibility, though.
- Instruments
- I haven’t had a chance to use it much yet, but it looks promising. DTrace is great.
- Core Animation
- Good technology, but there’s little guidance on when and how it should be used.
- CFStringTokenizer
- I’ll be using this.
- Miscellaneous API additions
- As with Tiger, Leopard includes lots of small improvements to the APIs, many of which I’d already rolled my own versions of. Eventually, if the Apple versions prove solid and flexible enough, and when I’m no longer supporting Tiger, I’ll be able to delete some code.
- 64-bit support
- This is going to be important, and I’m glad it made the Leopard release. Apple’s treatment of Carbon developers has been shameful, even though the actual decisions have been unsurprising and were arguably the correct ones.