Wednesday, June 13, 2007

64-bit Carbon

August 2006:

In Leopard, take this a giant leap forward with 64-bit Carbon and Cocoa, all the way to your applications. You can have fully native 64-bit UI Carbon or Cocoa applications.

November 2006:

First implemented at the UNIX level in Tiger, Leopard brings complete 64-bit support to all of Mac OS X’s application frameworks. Using either the Carbon or Cocoa frameworks, you can create applications that can address extremely large data sets, up to 128TB using the current Intel-based CPUs.

June 2007:

In addition to the POSIX and math libraries supported in Tiger, Leopard enables developers to build complete 64-bit applications using the Cocoa, Quartz, OpenGL, and X11 GUI frameworks. You can even use 64-bit Java on capable Intel processors.

The omission is not an accident. All of my applications are Cocoa, but they use bits of Carbon to do things that aren’t possible with pure Cocoa.

13 Comments RSS · Twitter

Matty McMattson

My bet is that just the UI parts of Carbon will stay 32-bit. It’s not like Cocoa replaces everything.

Is it me or Apple has been retracting features after releasing them to public?

Wasn't there another software company that did this not too long ago...umm...something "soft" in it's name....taht's it. It was Microsoft!

I'd bet that most UI parts of Carbon would be 64bit but probably there are other parts they haven't got working yet. But those often are the very parts Cocoa programmers call. (After all typically the main UI stuff is already in Cocoa)

Carbon dead as of 10.6? Carbon was created to make a smooth transition from OS 9 to OS X, wasn't that the main purpose? Maybe Apple's decided that transition is way over and it's time to push everyone to Cocoa. Cocoa being cross-platform and all, maybe Apple has something else up their sleeves? Apple does seem to be pushing more technologies into Windows; Bonjour, Webkit, QuickTime. maybe Cocoa's not too far off?

My guess is that they're going to be sloughing off old parts of Carbon - CarbonLib-compatible Carbon, as it were - and release Carbon 64 later on. It's tough to make the transition to 64-bit with identical headers, and even tougher to introduce new features in those headers. Apple has stated that Cocoa 64 will be a clean-slate sort of thing, void of many deprecated features, and of course you won't be able to bring in purely 32-bit technologies like QuickDraw.

Note to most of you: Carbon will no go away until 10.7 or 10.8 at the *earliest*. There's no reason to believe that it'll go away at all in the near future; Apple has already initiated a modernization process that stretches a few OS versions back (HIView, anyone?), Carbon is in high demand with some developers and large chunks of the back end of the UI is written in Carbon, to the point where Cocoa windows are based on Carbon windows, for example.

What would Apple gain from getting rid of Carbon? Simple: it'd get its main app framework lineup count down to one, and it'd be the one everyone's giddy about. That's it. Rewriting the lower Carbon layers to use Cocoa directly is an immense task. Most of the big apps with some history, and even some apps coming out today, are Carbon-based. I'm not saying there's not a trend in Apple apps to transition to Cocoa, but that doesn't make it viable to annihilate Carbon for *everyone*.

The Apple page does say this: "All features referenced in the Mac OS X Leopard website are subject to change"

Guess they mean it...

Correct me if I'm wrong, but aren't Photoshop, Office and iTunes all Carbon apps? I doubt Carbon is going anywhere. Any word on whether the new Finder is now Cocoa based or still Carbon based?

Carbon dead as of 10.6?

Yeah, that's plausible.

Hey Adobe, I know you just spent like two years coming out with universal versions of that Creative Suite thing, but we're tired of maintaining Carbon. Please rewrite it in Cocoa. Also, if you should run into MacBU, could you pass this along to them? Thanks, sjobs

Well, that's interesting, but Apple still has posted a 64-bit transition guide for Carbon. It's under NDA I'm sure, for registered developer access only, but the URL is:

https://developer.apple.com/leopard/devcenter/docs/documentation/Carbon/Conceptual/Carbon64BitGuide/index.php

Nat: Precisely. This is what all "Carbon must die" aficionados must plausibly explain before I'll give their ideas any leverage. "Carbon is dumb because I read somewhere that Cocoa is great" is not a valid explanation even if Cocoa is great (it is).

Looks like HIToolbox won't have a 64-bit implementation, but you (and me) will certainly be able to call File Manager or whatever from our 64-bit Cocoa apps...

The sky is falling! The sky is falling!

Look, Carbon isn't going anywhere. At least, not for a long time. Even most of the depreciated bits will still be there, although obviously, they won't be updated.

Having said that, It's extremely foolish not use the most current and stable released API's at any given time. Stop fighting the last war.

"Correct me if I'm wrong, but aren't Photoshop, Office and iTunes all Carbon apps? I doubt Carbon is going anywhere. Any word on whether the new Finder is now Cocoa based or still Carbon based?"

Just because they won't be 64-bit doesn't mean they won't run on 64-bit Macs.

Photoshop is one that you'd want to have in 64-bit, but Office, and iTunes not so much.

Leave a Comment