5 ms·
Note that I do not agree with the premise of the topic article, but then, even the author positions it as a low-probability thought experiment. I take the stand
by bangonkeyboard 10y ago
Note that I do not agree with the premise of the topic article, but then, even the author positions it as a low-probability thought experiment. I take the standard position that Apple is betting on Swift.
What I do not believe, and what I am arguing against, is that Objective-C will continue to be supported as an equally first-class development language. Apple fundamentally does prefer simplicity, and whenever there are two ways to achieve something one is likely to be pared, and probably not the new and shiny one. Apple can lose interest rapidly, and any API or technology that has fallen out of favor will simply and intentionally be allowed to rot. OpenGL on the Mac is stuck at a version from 2010 while Apple instead pushes its in-house Metal. Dashboard is a vestigial growth that hasn't even garnered enough attention to be cut off.
My examples were meant to illustrate that Apple will not put resources into supporting much more than the minimum if it can help it, and that extends to development. As you have noted, iOS is on an accelerated schedule when it comes to switching to new tech, and this is possible due to Apple's much greater control of the platform and its developers. Given the sheer amount of app breakage in the Store from release to release, my impression is that Apple cares less about old software compatibility on iOS than it does on the Mac; and of course, they also care much less about the Mac than iOS. The Objective-C runtime will continue to limp along behind Swift on the Mac, but I think that the day that Apple decrees that all new iOS applications must be written in Swift is coming sooner than some expect.
> But Carbon was meant to be a transitional API since it was released with the very first version of OS X in 2001.
To my recollection, this was not quite so clear-cut at the time, at least to the public. Apple continued to maintain and add to Carbon in the years up to the 64-bit transition, releasing new Carbon sample code even as Cocoa got most of their attention. It was relatively common to mistakenly believe that the two APIs were simply different abstraction levels for the same functionality [0], and there were no serious signs of the imminent deprecation until around the five year mark. There is probably a historical lesson here.
[0]: http://archive.oreilly.com/pub/a/mac/2001/05/23/cocoa_vs_carbon.html http://archive.oreilly.com/pub/a/mac/2001/05/23/cocoa_vs_car...
- pvg 10y agoIt was quite clear cut, even though you've found one person who was either confused or trying to be colorfully contrarian. But the analogy to Carbon (or some other old tech/new tech switch) is really poor because Swift is just a language. There are no new Swift-based frameworks yet. After a few years of development, Swift itself is not a (let a lone the) true 'first class' language on Apple devices - that's still Objective C. It's going to take quite a while for Swift to assume that role, even if you think Apple is in a big hurry to accomplish that. There isn't much evidence of that to begin with.