The cocoa only rumour is a bit odd. And MacRumors updated their info to say "John Gruber clarifies that "pure Cocoa" does not have anything to do with dropping Carbon from the OS"
They said that some parts of the OS are only accessible via carbon at present, and they will now be accessible via cocoa.
I was actually wondering about the opposite. By that I mean - Carbon is currently an API available in parallel to Cocoa. Is it possible to rebuild Carbon such that Carbon works via Cocoa? I assume that it's possible but would have a high overhead and be needlessly complicated to implement?
Perhaps mdriftmeyer can answer this better but as far as I was aware, some of Cocoa relies on Carbon underneath already. ie. you've a nice Objective-C Cocoa interface but inside the object it's making carbon calls.
What Gruber meant was that they've expanded Cocoa to include everything that you'd had to do in Carbon previously because no Cocoa equivalent existed. Apple could then deprecate Carbon and it would then be for internal use only and Cocoa is the only official API.
Now, Apple, prior to WWDC last year was apparently almost feature complete on Carbon 64bit but decided that, strategically, Cocoa was the future. Most Apple devs (except Adobe and MS) would probably agree with that stance. If now they've wrapped more of Carbon 64bit inside Cocoa then it makes sense that they could drop 32bit entirely. There's still a heck of a compatibility issue there though - no 32bit and no Carbon.
January 2009 seems a bit too soon to have an OS that won't run Carbon apps.
It seems more likely that the OS will run carbon apps, but as Kickaha suggested, the Carbon headers will be removed and developers will no longer be able to target Carbon, ready for Carbon's complete removal in 10.7.
Abandoning PPC is highly probable. 10.6 should still have Rosetta, which again we'll probably see the back of in 10.7.
Overall, I think Apple's approach to backwards compatibility (to ignore it as much as possible ) is preferable to Microsoft's. It's Microsoft's inability to break with the past that has really held them back. Apple is much more forward-looking and prepared to drop the things that are holding them back. This does the platform more favours than harm IMHO.
Oh, nearly forgot - I suppose one possibility is that 10.6 really will remove carbon entirely, but will include virtualisation allowing you to run 10.5 simultaneously (like classic for OS 9)?
Comments
The cocoa only rumour is a bit odd. And MacRumors updated their info to say "John Gruber clarifies that "pure Cocoa" does not have anything to do with dropping Carbon from the OS"
They said that some parts of the OS are only accessible via carbon at present, and they will now be accessible via cocoa.
I was actually wondering about the opposite. By that I mean - Carbon is currently an API available in parallel to Cocoa. Is it possible to rebuild Carbon such that Carbon works via Cocoa? I assume that it's possible but would have a high overhead and be needlessly complicated to implement?
Perhaps mdriftmeyer can answer this better but as far as I was aware, some of Cocoa relies on Carbon underneath already. ie. you've a nice Objective-C Cocoa interface but inside the object it's making carbon calls.
What Gruber meant was that they've expanded Cocoa to include everything that you'd had to do in Carbon previously because no Cocoa equivalent existed. Apple could then deprecate Carbon and it would then be for internal use only and Cocoa is the only official API.
Now, Apple, prior to WWDC last year was apparently almost feature complete on Carbon 64bit but decided that, strategically, Cocoa was the future. Most Apple devs (except Adobe and MS) would probably agree with that stance. If now they've wrapped more of Carbon 64bit inside Cocoa then it makes sense that they could drop 32bit entirely. There's still a heck of a compatibility issue there though - no 32bit and no Carbon.
It seems more likely that the OS will run carbon apps, but as Kickaha suggested, the Carbon headers will be removed and developers will no longer be able to target Carbon, ready for Carbon's complete removal in 10.7.
Abandoning PPC is highly probable. 10.6 should still have Rosetta, which again we'll probably see the back of in 10.7.
Overall, I think Apple's approach to backwards compatibility (to ignore it as much as possible
Oh, nearly forgot - I suppose one possibility is that 10.6 really will remove carbon entirely, but will include virtualisation allowing you to run 10.5 simultaneously (like classic for OS 9)?