On Swift

One of the least expected and most exciting announcements of this WWDC has been Swift - an all new programming language for iOS and OS X development.

There’s been a lot of praise on how Swift is a truly modern language with a friendly syntax, and how it will enable developers to be more productive.

However, as much as Swift is a big deal on the short term, you don’t change[1] a platform’s language just to make things nicer and developers more productive in the present. You do it because it will,in the long run, enable things that weren’t possible before, by allowing for a new way of thinking about problemas and how to solve them. But as nice as it may be, and for as much potential as it might have, a language is only as good as what it enables developers to accomplish. On that front, Swift is off to a very good start.

By being fully compatible with all the same Apple APIs and Frameworks as Objective-C, Swift has a major advantage out of the gate to guarantee its wide adoption. Add it to the fact that it will run on the most popular developer platforms that have ever been around and you get a sure formula for success. That’s precisely why comparisons to the Dylan effort of 20 years ago shouldn’t lead to the conclusion that Swift will have the same fate. The context is very different.

Even though Swift code can coexist peacefully with Objective-C inside the same project and with full interoperability between them, it is free from having to comply to ANSI C standards. It’s effectively free from C’s legacy and doesn’t need to follow conventions established in a context that is 40 years old and may no longer be relevant, necessary, or, generally applicable. This will free developers from dealing with a lot of cruft. Of course, the frameworks are still written in Objective-C, so it will take a long time before they’re able to take advantage of all of Swift’s new features and start being made primarily with Swift in mind.

Swift further confirms what is easily observable for anyone who has a clue about Apple. They’re in it for the long run. Swift’s development and its launch this week wasn’t meant to solve the problems of today. Objective-C wasn’t exactly holding Apple back right now, but it might, someday. While Objective-C and Next’s acquisition, along with Steve Jobs return, saved Apple in the end of the 90s, it’s Swift the programming language which will help power Apple’s future going forward. It will enable Apple to continue fostering innovation within its platforms for the decades to come, while providing an incredible platform for third parties to develop on.

  1. Objective-C isn’t going anywhere, at least in the near future, so Apple hasn’t really changed the language for its platforms. It has added a new possibility, but it’s pretty clear that going forward, Swift will gradually become their platforms’ main language, eventually replacing Objective-C for good. It’s where Apple’s attention is from now on, and where ours as developers should be too.  ↩