3 ms·
I wonder how likely it'll be they keep Objective-C support. Ultimately, there's a huge amount of useful legacy code available they would be throwing away. I th
by charlesdm 9y ago
I wonder how likely it'll be they keep Objective-C support. Ultimately, there's a huge amount of useful legacy code available they would be throwing away.
I think the way it's set up right now with interoperability works pretty well, and using it for new apps is a great idea, but forcing people to throw away existing apps that have been around for years.
- dep_b 9y agoForever. It's much easier when you deal with low level code from Objective-C(++) and Apple has tons of that written with no obvious benefit when it's rewritten in Swift. They might introduce modules that are incompatible or awkward to use with Objective-C in the future though.
- pjmlp 9y agoThe benefit are dogfooding and public image. Microsoft already did it multiple times when VS team had to adopt WPF, the new APIs that are COM only or latest example having the Office team adopt the desktop bridge and make it a UWP only application on Windows 10. If anything, to give the message to the world that the internal teams also use the technology they are trying to sell. And they are slowly doing it, given that launchd and the Dock were rewriten in Swift for Sierra and the new XCode 9 build system is now in Swift, as well as some parts of the Store app.
- dep_b 9y agoYeah I remember people being really sceptic in the beginning that Apple wouldn't even use Swift for it's own projects. People pretending to have "inside knowledge" nobody uses Swift at Apple internally, claims like that. You have to silence those critics.
- gurkendoktor 9y ago> using it for new apps is a great idea The Swift 2->3 migration was a huge time sink and is still on people's minds. Xcode 9 is also still slow and crashy when working with Swift. For small apps with a tiny maintenance budget, ObjC makes a lot of sense even now. I expect it'll die even more slowly than Carbon did.
- valuearb 9y agoNote that the Swift 4 migration is intentionally easy and backwards compatible with 3.2. I think they learned a good lesson from the ->3 migration.
- pjmlp 9y agoWhich is why all Objective-C language features introduced since Swift were to make interop between the languages easier, and also why some Swift design decisions were to make it easier to seamlessly use the Objective-C's runtime.
- giobox 9y agoMy general feeling is the consensus is that dropping objective-c support is a decade or more away at the earliest. IIRC Latner has said in the past deprecating objective-c was never really a primary goal, one of the reasons for the effort in adding new features to objective-c in recent years to fully support Swift/Objective-c interop. Apple have so much objective-c code in production, probably more than other firm. Their engineers are still going to need IDE and tooling support for their giant objective-c code bases for many years to come. As with previous transitions in Apple's software ecosystem, it will also probably depend on what the big bears in the third party software market tell Apple they need - as big as Apple now are, third party applications like photoshop, office etc are still arguably hugely important to the overall health of MacOS especially as a platform.