I agree with Aaron Hillegass, but only short-term. If you want to develop for iOS in the next year or two, you should probably know Objective-C. But in a few years, I don’t think it’ll matter if you only learn Swift.
Swift is so young that even Apple has only shipped one app — the WWDC app — that contains any Swift code so far. I talked to many Apple engineers last week who hadn’t even learned of Swift’s existence until the rest of us did. The language is bleeding-edge and likely to change rapidly over the next couple of years, and more importantly, the frameworks and commonly accepted best practices are likely to change dramatically over the next decade. In time, we’re going to look back in horror at the Swift code we write this year.
But that doesn’t mean that Objective-C proficiency will be a requirement for iOS developers for very long. Plenty of people write plenty of apps every day in Objective-C without knowing most of C or any C++.1
The time will come when knowing Objective-C will be like knowing C, C++, or assembly — it’ll be a plumbing layer beneath your application code that almost all working developers will never need to know or interact with. And I bet that time is less than five years away — possibly just two or three.
For whatever it’s worth, in my entire former career and all of my iOS apps so far — even Overcast, which uses a lot of low-level Core Audio code — I’ve never shipped a single C++ file. ↩︎