The move is so apps can access over 4Gig,
A developer can already make the choice to go with Cocoa and 64-bit if they need to access ( or malloc() ) several gigs of memory. Addressability could be a concern but with base/displacement addressing it would be rare for code to be unreachable and beyond 4GB. Clearly 64-bit addressing is beneficial in some scenarios but my guess is Apple's move is aimed at their own strategic moves and its primary purpose is not to benefit developers.
[doublepost=1497121572][/doublepost]
And how does this adversely affect Apple? This is only an issue on the user's machine, isn't it? Whether a user needs 32-bit compatibility has to "sacrifice" space and performance, is an issue he should be able to make at install time, like he was able to when Rosetta was an option.
Precisely.
There absolutely is a difference. Aside from having to keep 32-bit bindings on disk and in memory (taking up space)
The space is negligible ( e.g. 27 MB disk space for the entire Carbon framework )
... the CPU is slower when operating in the mode where 32-bit instructions are permitted
Assuming this is true on a modern Intel CPU, my own timings suggest the differences( which are hard to measure because it requires a lot of decimal places to find the difference ) are infinitesimal, measured in fractions of microseconds. Plus, as noted by others, it's the user's choice to run 32-bit and take the "hit".
[doublepost=1497122830][/doublepost]
They have a good 3 to 5 years to update those "mission critical" applications.... which should be more than enough time.
Yep. Actually, Apple has been telling developers for almost a decade ( more or less the time they switched to Intel ) to switch to 64-bit and Cocoa. In defense of developers, Apple waffled on whether to implement a 64-bit Carbon, so many developers weren't quick to make the switch. Of course, upgrading your app from Carbon to Cocoa is non-trivial to say the least( most code needs to be re-written - particularly the UI ). There is no doubt in my mind Apple gave me and other developers more than adequate notice of Carbon's potential demise.
Carbon has
effectively died from a new development perspective because Apple introduced many technologies in the Cocoa UI that simply aren't available in Carbon. For example, pop over windows and view-based table views are essential in most modern apps.
Apple is clearly withholding details about the reasons for phasing out 32-bit apps because it doesn't hurt anyone to simply leave it in the distribution.