Should You Learn Objective-C?

At WWDC 2014 Apple unveiled their new programming language, Swift. Swift language is a massive leap forward from its predecessor, Objective-C. Swift is a modern language which inherits many concepts from other popular languages including Go, Java, C#, Ruby etc. From the very start Apple made it clear that Swift is the path moving forward. At WWDC 2015 almost all of the sessions were delivered in the Swift language. 

At this point a common question on everyone's mind is that should I even learn Objective-C. Before answering this question with a simple YES or NO let me tell you my experience in development.

I have been developing professionally for more than a decade. During those years I worked at around dozen different companies ranging from oil and gas to health care. In those 10 years I can only recall couple of occasions where I worked on a *greenfield project. In all the other instances I was either fixing bugs or adding new features to the existing code base. Just last week I fixed some bugs on an iOS 4.0 application. 

The point I am trying to make is that although it might not be impossible to work on a brand new greenfield project, it is quite rare. This means most of the time you will be digging deep into the old codebase to either fix a bug or add a new feature. In iOS development this means you will be dealing with a lot of Objective-C code and which will be around for several future years.

So, to answer your question that whether you should learn Objective-C?


*greenfield project means a brand new project where no lines of code has been written.