Almost...
X11.app is a Cocoa app, hence it is 32 Bit.
It is, but it is a separate Window server app. I could be wrong, but couldn't a 64-bit Darwin app call X11 and still function. Only the GUI would be 32-bit.
Almost...
X11.app is a Cocoa app, hence it is 32 Bit.
It could stop Adobe, but you're right, the big risk is that new applications won't be ported. Things were finally getting to a place where there was an argument to be made for porting applications to OS X, and now they just made it 10 times harder... Unless the rumors of the return of Yellow Box are true, this makes it a pain to maintain cross platform compatibility.This change isn't going to stop Adobe's applications having Mac versions (though some stuff like production suite may leave), but some of the applications which make 10% of their money from their Mac version (rather than the 40-50% of Adobe) could cease further development for the Mac. It could also make developers less likely to get their "feet wet" in the future on the Mac. In terms of specific applications it could well mean that MATLAB never goes aqua (it uses X11 at the moment), and that applications like Autocad never get ported to OS X, especially as Mac users can run them on Windows.
You'd discontinue it because the pain of maintaining it exceeds the revenue. As it stands there is no guarantee of 64bit Carbon ever. First there was the OS X switch, then the Intel switch, now the framework switch. Real companies aren't in the habit of gritting their teeth and shouting "Thank you sir! May I have another?!" Developers don't want to spend all of their time moving the same code from architecture to architecture-- they want to spend their time improving their code. All of these changes and the broken promise on Carbon make OS X look like an unstable platform to support.- just because 64-bit Carbon won't be available until the next OS (or possibly even 10.5.something), why would you discontinue your product altogether?
- if it makes business sense to produce a Mac version, then it makes business sense. Real companies don't get all huffy and discontinue products just because they have a delay.
At this time, it looks like most, if not all, of the APIs provided by the ApplicationServices and CoreServices umbrella frameworks will still be available in 64-bit (subject to further changes in plans).
for 64-bit there will not be a Control Manager, Menu Manager, Window Manager
It is, but it is a separate Window server app. I could be wrong, but couldn't a 64-bit Darwin app call X11 and still function. Only the GUI would be 32-bit.
The official line has changed.
Much of carbon is 64-bit ready in Leopard, and they are taking input on what further parts are required by developers.
So it seems like only the oldest parts of Carbon have been pruned (and these have substitutes in Carbon anyway). More than enough is left so that cross platform developers can still write applications.
That really depends, Handbrake is an example of an app that can and has been moved to Windows (and very likely works on Linux if you can build it) that uses Obj-C for the UI. All the DVD reading, encoding, and so on live in a C library (although it doesn't need to be), and the Obj-C UI calls into it.
If you can tell me how to write a Carbon application without using Window Manager, Menu Manager and Control Manager...
Handbrake doesn't have any Cocoa code that is _integrated_ into an existing codebase. Handbrake is a tiny Cocoa application, with lots of C libraries integrated into the Cocoa application, not the other way round. The problem is integrating Cocoa into existing applications, and Handbrake doesn't have that problem.
HIToolbox. (If my memory is correct, it is a full replacement for all three, and the C version of Cocoa's view-based controls, meaning you can get more of Cocoa's features for free without going into Obj-C)
And HIToolbox is also not available in 64-bit. I've been following the Carbon Dev mailing list and apparently the only reason 64-bit Carbon was canned was because Apple management wanted to get rid of it and emphasize Cocoa.
It sounds like 64-bit Carbon was largely complete and ready to go and then management recently told the Carbon team that 64-bit Carbon will be canned. From what it sounds like on the mailing list this was very recent as even Apple's Carbon engineers still don't know with certainty what will and will not be included. Also, it was mentioned that 64-bit Xcode in Leopard currently renders all of its menus using 64-bit Carbon (as the Cocoa menu system has always been based on Carbon). So it seems that Apple will have to spend ADDITIONAL resources to rip out and replace the largely complete 64-bit Carbon.
What a brilliant decision! Alienate your biggest and oldest developers while at the same time spend MORE resources to remove something that is nearly complete and used by even your own applications.
the Finder in Leopard is a 32-bit app. The only Leopard app I'm aware of that ships as a 64-bit app is Xcode.
the Finder is still largely a Carbon app in Leopard, although it does use our new HICocoaView capability to allow embedding NSViews inside a Carbon window to implement the coverflow view.
What a brilliant decision! Alienate your biggest and oldest developers while at the same time spend MORE resources to remove something that is nearly complete and used by even your own applications.
Hmm, were you there at the conference? Cause, I was, and it was largely a non-issue. Its time to move on, apple can't keep updating features twice, once in carbon and once in cocoa....its a waste of resources. There are many things that have been done to enhance C++ and Objective-C compatibility...
What a brilliant decision! Alienate your biggest and oldest developers while at the same time spend MORE resources to remove something that is nearly complete and used by even your own applications.
But how easy is it to move from Carbon to Cocoa, and how are they not pissing off their Carbon developers who have just moved to Xcode/Intel? Which is the point I originally made. It seems you want to duplicate the functionality because Cocoa and Carbon have different strengths and are complimentary, Carbon is far better for cross platform applications for a start.
Not really. There are many ways to integrate cocoa with carbon, some of which are coming with leopard. There was a nice talk by Kevin Hoffman (the .NET addict) that was very nice and went into cross-platform stuff, but since EVERYTHING in WWDC is under NDA, my lips are zipped...... but lets just say, there is no pressing need right now for 64-bit carbon apps, and in the future, the apps that need to be 64-bit can be ported to cocoa.... in the long run, apple can't keep updating carbon forever.............
Good for them and it's ABOUT TIME!apparently the only reason 64-bit Carbon was canned was because Apple management wanted to get rid of it and emphasize Cocoa.
A lot easier than maintaining the same dusty code base year after year. And it's a move they should have made ten years ago.But how easy is it to move from Carbon to Cocoa
Moved from where exactly?and how are they not pissing off their Carbon developers who have just moved to Xcode/Intel?
How do you figure that? Perhaps over half of any GUI app is the GUI stuff itself. What in the name of all that is compiled does an archaic and rather obtuse system like Carbon have in common with .NET, the Windows API, or GNOME or KDE?Carbon is far better for cross platform applications for a start.
CodeWarrior, which is what all the major apps used to use before the Intel switch, they now use Xcode, so they have just gone through a major transition now to have this one thrust upon them.Moved from where exactly?
The problem with Cocoa seems to be (which is based on the previous couple of pages of posts), is that it is too clever and does stuff that cross platform applications don't want to use. I don't develop with Carbon, but it doesn't seem like that brilliant a move as Adobe/MS and other major developers use Carbon.How do you figure that? Perhaps over half of any GUI app is the GUI stuff itself. What in the name of all that is compiled does an archaic and rather obtuse system like Carbon have in common with .NET, the Windows API, or GNOME or KDE?
CodeWarrior, which is what all the major apps used to use before the Intel switch, they now use Xcode, so they have just gone through a major transition now to have this one thrust upon them.
The problem with Cocoa seems to be (which is based on the previous couple of pages of posts), is that it is too clever and does stuff that cross platform applications don't want to use. I don't develop with Carbon, but it doesn't seem like that brilliant a move as Adobe/MS and other major developers use Carbon.
Yup. I remember CodeWarrior. Shame that it had to go, but when the Intel transition was looming, Freescale killed that product faster than you can say, "Huh?"
Or was it already killed at that point?
In an extreme case of bad luck, Freescale had sold off the Intel version of the Codewarrior compiler complete with all the rights about six weeks before the Intel Macs were announced, that was about five weeks before the first rumors about Intel Macs came out.
Anyone who had been using CodeWarrior knew long before (more than 6 weeks) the Intel announcement that the writing was on the wall. Metrowerks/Freescale hadn't announced anything officially but it was easy to tell that CodeWarrior was heading for the grave. The Intel announcement was really just the final nail in the coffin. I say this having worked at a CodeWarrior-using company that had already started moving from CodeWarrior to Xcode well before the Intel announcement.
CodeWarrior might have survived a bit longer on life support had Apple not switched to Intel, but it would probably still be a dead product today.