Much to the disappointment of millions of consumers, Apple's (NASDAQ:AAPL) WWDC kicked off Monday with no new hardware announcements. But keep in mind that the "D" stands for "Developers," and the conference's keynote was absolutely loaded with significant new software-centric announcements. Those included iOS 8, and two widely anticipated developer kits respectively focused on smart homes and aggregating health data.
But, as a recovering software engineer myself, I'm convinced that the most important announcement yesterday is one few consumers will ever see: A new programming language Apple has named "Swift."
Specifically, Apple says Swift is years in the making, and -- true to its name -- looks to accelerate app development by both building upon, and working alongside, the decades-old Objective-C and C languages. At the same time, Swift is very expressive -- like a scripting language -- and should feel more natural for people to read and write. In effect, while using Swift will have a familiar feel to experienced Objective-C developers, it should also be friendly enough for newer programmers to step in without much pause.
Apple also boasted of Swift's relative speed, with two slides in the keynote depicting the new language dominating both Python and Objective-C in running resource-intensive tasks like complex sort and RC4 encryption. Swift also includes automatic memory management features, and promises to prevent developers from making entire other classes of common programming mistakes -- for all you engineers, think of oft-repeated errors related to variable initialization and array overflow.
What's more, Apple introduced a slick "Playgrounds" feature, which should save developers time and frustration by immediately rendering the output of their coding efforts in real time. This eliminates the need to first compile it into an executable program -- a process that can waste valuable minutes, only to realize something's wrong once it completes. In short, let's just call it a software engineer's ultimate vision of instant gratification.
But Swift also isn't without criticism. So what's not to like?
Then there's the matter of exclusivity. Swift, unsurprisingly, isn't an open standard, and only caters to Apple developers. As a result, those who want to create mobile apps on multiple devices still need to deal with the time-consuming, costly process of building separate versions for each platform. But, really, this is Apple we're talking about, people. Love it or hate it, did you honestly expect Apple to actively make it easier to develop for Android- and Windows-based mobile devices?
Finally, some old-school programmers will inevitably balk at Swift's error prevention and memory management functionality. This will, after all, discourage newer developers from learning previously crucial programming methods. And I won't argue that it's worth building up at least some knowledge of these techniques in the interest of becoming a well-rounded software developer.
But we also can't expect programmers to forever embrace the old ways of doing things, especially if it means they spend a disproportionate amount of time debugging code instead of actually focusing on creating amazing apps. If Swift can automatically lessen this burden, developers' innovation and creativity will shine.
In the end, Swift may need some tweaking as the masses dig in, and time will tell if it's as effective as Apple makes it out to be. But if all goes as planned, then Swift should allow Apple software developers to more effectively create stable, optimized applications faster than ever before.