| Yes, that is the rationale. But I wonder. They are a $700B company. What if they just 'did it right' - i.e. made sure all of the APIs and documentation were available in 'new Swift' which had no relation to ObjC. Because the 'fallback on ObjC' has more problems than integration. A lot of people want to make apps for iPhone and ObjC is not in their vocab. Me, for example. Swift could have been an easy-to-approach language. But because of 1) lack of docs and 2) dependency on a lot of ObjC residue ... guess what? To make app in 'Swift' - you still had better know a lot of ObjC! So - to really make use of 'the new' - you still have to know 'the old' - which totally defeats the purpose! I wish they had made a clean break - great docs, examples that are clear and well marked in terms of versions, all new APIs for Swift, left in beta for longer, and made mostly backwards compatible changes. And left a few things out. |
But many of their customers aren't. Lot of them have no budget (or will) for complete rewrite. And if you force them (or just make them believe you may do it) they will complain and it means bad press, in a very competitive market. It may not be something Apple can afford.
> What if they just 'did it right'
You can't "did it right" without support of large amount of users, regardless of the money. The definition of "right" in programming languages is "works for users". And to get users onboard, you have make sacrifices.
> A lot of people want to make apps for iPhone and ObjC is not in their vocab.
And even more has existing apps to maintain. Tradeoffs have to be made.
> great docs, examples that are clear and well marked in terms of versions, all new APIs for Swift, left in beta for longer, and made mostly backwards compatible changes
All those things will come. If you want them, wait for them. Being early adopter has its cons.