Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Carbon -> Cocoa was a massive change. So was PPC -> x86.

There are also massive API compatibility issues even between those two enormous shifts -- witness the sudden breakage of all SDL games due to raw surface access in CoreGraphics moving to IOSurface, just to name one.

The difference is, I think, that Apple has conditioned developers to expect massive breakage, and the OS X app industry has structural differences from the Linux desktop app community that make it more likely for apps to get fixed quickly.



Yes the facts really aren't with Miguel on the API breakage claim.


>Carbon -> Cocoa was a massive change. So was PPC -> x86.

1) Both were necessary. Carbon was a stop-gap port of the old Mac way and incompatible with the OS X design, and the x86 transition had to be made because the PPC mobile roadmap was late (and bad). It was not a "let's break API compatibility because we came with a cool new idea" or "because the old maintainer got bored and the new one has different ideas", which often happens in Gnome/Linux land.

2) Not to mention that the Carbon->Cocoa took like 7+ years to be made full (Carbon apps actually still run on modern OS X), and Apple went to the effort to provide a full bundled compatibility layer for PPC for many years (Rosetta), plus "fat binaries" to make the switch easier. I.e nothing like the "let's break stuff to make them better and let them deal with it" attitude in the Gnome world.

3) Also: Apple remade the old stuff ITSELF each time, with paid developers working on the OS X, bundled userland and Apple pro apps to port them, whereas Gnome changes made lots of developers walk away from the free, OS, Gnome apps.

4) Plus: Apple had a lot of market share (compared to Linux) to force companies like Adobe, Microsoft et al, to port their stuff along eventually. Gnome did not have that benefit.

So, not at all the same, and no, it's far more than "Apple conditioning developers to expect change".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: