leopard musing: objc2.0 and gc

Sep 19, 2007 00:02

Okay, so over the course of messing around with Objective-C 2.0 for some of my mac app ideas, I've come to a realization.

None of them will work on anything less than Leopard.

The problem, for me at least, is that I really disliked Objective-C pre-2.0 because of the manual memory management that was trivial but got on my nerves a LOT. I was spoiled by all the other languages I'd used which overwhelmingly had GC. Why the heck isn't this already available, blah blah. So, knowing that (opt-in) garbage collection was coming was a great incentive to brush up on the language, cause that was my biggest issue with anything I did in objective-c and the biggest headache inducing pain in the ass (that I had to do this at all).

So, making the (extremely likely) assumption that GC will not be backported, it means even the simple dumb things I do won't work on Tiger.

And well, given everything else that's new and shiny in Leopard, I can see why so many devs out there are publicly announcing that the next major revisions of their apps will be Leopard-only. And of course, I can't be the only noob mac dev out there who's suddenly become more interested, cause manual memory management is that much of a pain in the ass >:P

But this raises some interesting questions...how many people will be upgrading to Leopard? Will they lose sales if it's a shareware product? Will people be dissatisfied that they paid $x and expect more updates..but all the updates only work on another OS...?

At some point, a lot of devs have been at the point where they've had to drop support for whatever OS, only because it becomes too much work to maintain a version that still works when not many people use it anymore. Like, for example, the IRC client I use, Colloquy, is at a point where the latest version is broken on 10.3.9. I'm assuming there's going to be at least one more 10.3.9 compatible release, but 10.3.9 support is going to be dropped after Leopard. Understandably, Panther is nearing 4 years old now, and given that most users are probably using Tiger/Leopard now, it's not worthwhile to maintain the Panther version of any app for much longer - small userbase and all.

But what's happening now is a sped-up version of that - Tiger isn't old... But Leopard has some dev candy that they used that might have made their life easier (e.g. core animation, GC, sandboxing, more 64bit goodness), so they're willing to either maintain two separate code bases, one Tiger/maybe Panther compatible and the other Leopard only, or they're willing to leave the Tiger/Panther people stuck on the older version and make the new one Leopard only. Will there be that many new Mac purchasers (where the computer comes with Leopard) and that many users that will upgrade that quickly?

Even though there are plenty of early adopters out there (even now, with the 1+ year since wwdc06), there's still a fair number of people who run Jaguar, nevermind OS9 and earlier. It's like those people who still run Windows 9x (2k holds a special place in my heart :P) and you're just WTFing at that because you can't comprehend why they would want to stick with an OS that was immensely outdated in every way. But some hardware will never run the OS, people won't upgrade, or they won't even know that an upgrade exists.

Oh well. Leopard is scheduled to be released sometime next month, I'd love to revisit this blog entry in a few months :)

mac os x

Previous post Next post
Up