Since we launched our Swift courses on the day Apple publicly released iOS 8 we have received several emails and tweets asking whether you still need to learn C or Objective-C. Moreover, it seems like people are still confused as to where Swift fits within the iOS Development ecosystem. I hope to clear up some of that confusion and set you on your path to learning.
Should I first learn Objective-C / C or go straight to Swift?
Swift is a brand new language which has nothing to do with Objective-C or C. I mean they are both programming languages and follow some of the fundamental concepts and paradigms but you don’t need to learn one before you can learn the other. We have designed our Swift track so that anyone with little or no programming experience can learn Swift. So please head on straight to the Swift courses and don’t look back.
I’m in the midst of learning Objective-C, should I switch to Swift?
That all depends. If you are learning iOS development as a hobby or out of curiosity then drop Objective-C and switch to Swift. Are you pursuing iOS Development as a career? If so, then there are at least 1 million apps out there written in Objective-C. Swift just got released in June 2014 so chances are that your future employer’s apps will be written in Objective-C. It is essential that you learn Objective-C to get a job as an iOS Developer until Swift becomes a standard, which will take a few years. Until then it would benefit you to learn both the languages. Your future employer might even task you with converting their existing Objective-C app into Swift. Although I would take that notion with a grain of salt because the most important part of an app is its functionality and not the language it is written in. Which means that rewrites of existing apps might not be that prevalent.
I encourage beginners to start out with Swift because it is a familiar language and easy to learn thanks to the playgrounds. Once you have learned Swift then you can always look into learning Objective-C if pursuing iOS Development as a career.
Finally, Swift is a modern language. If you learn Swift then you will be future-proofing yourself by learning a language that is going to be responsible for a whole new generation of apps (Apple Watch anyone?). Apple has provided everyone a gift of a new language. There are no developers with 5 years of experience with Swift. If you start now then in 5 years you could be one of those developers.
My final piece of advice would be to learn one language or the other and get good at it. At the end of the day the language does not matter much, so long as you know how to use the iOS SDK. Once you learn one language you can easily pick up another. The most important thing is so to start learning and practicing now.