It’s been awhile since I have found anything worth blogging about in the iOS development world. The first day of WWDC 2014 changed all that. Had Apple only announced their new programming language, Swift, that would have been enough to keep me (and the rest of the iOS world) busy and excited for quite some time.
My first reaction to learning that Apple announced a new language for iOS and OS X developers was, “Why?” I know that Objective-C has a bad reputation with developers in general, but it’s mostly undeserved. I’ve found that people who declaim Objective-C as an inferior language usually have little to no experience with it. However, perception is reality. Developers don’t want to learn Objective-C because they believe it is technically inferior, or just plain “weird.” It seems naive to think that Apple is spending untold amounts of money and manpower on a new language based solely on perceived technical drawbacks of their existing language.
So, what gives? If it ain’t broke, why are they fixing it?
Well, it is broke, so to speak. Like I said, perception is reality. I know from firsthand experience as a software development consultant that almost all companies that need iOS apps find it next to impossible to hire, afford, and retain qualified iOS developers to build and maintain those apps. Relatively few developers are willing and able to get down close to the metal and learn an ancient-yet-refurbished language such as Objective-C. Understanding memory management, juggling pointers, working with C functions and structures…these are not skills that most modern platforms require developers to have. If you only know how to drive an automatic, why would you want to start driving standard?
Ask most iOS devs that question, and you’re likely to get an answer like this…
…but that’s beside the point. 😉
Let’s face it, Apple wouldn’t have invested in Swift if it wasn’t critical to their future success. If Apple’s success is contingent on selling their hardware (amongst other things), it behooves them to make developing for their hardware a skill for which most companies can hire and retain developers. By making Swift a language in which everyone seems to see aspects of their favorite language(s), Apple has done a good job of lowering the perceived barrier to entry for their platforms. It might instill confidence in developers that iOS isn’t all that different from what they already know. If Swift is as developer-friendly as it is trumpeted to be, companies will soon be able to hire developers who one day work on a single-page Web app and the next day write a new UIViewController.
Apple wants companies to gain the ability to do in-house iOS development. More specifically, I assume they want companies doing native iOS development, using their tools and their languages in their ecosystem, not turning to cross-platform solutions like PhoneGap or Xamarin just because they have a more familiar programming model. The more that companies have the ability to develop their own iOS and OS X software, the more of Apple’s products they will buy.
In other words, Swift should lead Apple not only to increased mindshare amongst developers, but also increased profit. Ahh…now things are starting to make much more sense!
What does all of this mean for us grizzled Objective-C veterans? Will our market value decrease as the iOS development world experiences a deluge of new developers staking their claim on our turf? I suspect not. First of all, the pie of which we all want a slice is not a fixed size. It can grow as the demand for custom iOS software grows. Secondly, even if this more approachable language attracts less talented/experienced developers to iOS, that shouldn’t impact the market value of serious engineers. Does the presence of “script kiddies” negatively impact the market value of serious Web developers? No, I don’t think that’s the case. If anything, the new lower barrier to entry for iOS development will only serve to illuminate by way of contrast the technical excellence of developers who have taken the time to master a more demanding language such as Objective-C.
The future looks bright in the iOS world. I, for one, embrace Swift and am excited to master it, too.
Thanks to Mike Wolf and Kevin Courter for bouncing these ideas around with me late last night.