Apple unveils Swift — Objective C without the C
There were over 14 million downloads of the tools used to build applications for iOS 7. That means there are at least 14 million people who are going to be excited for Swift — Apple's newest coding tool for iOS 8 applications. The goal was to have the power of Objective C, without all the complicated language and clutter of using C. Swift promises to be fast, modern, safe and intuitive. Let's take a quick look at what it has to offer.
For starters, developers won't have to abandon any Objective C or C code. Older bits and pieces will fit right in with Swift, and devs can compile everything into the same app with just one runtime. For the non-programmers out there, this means that complicated code a developer has already written can be reused in Swift, saving time that can be spent refining other areas of their app. This is a very big deal, and a very good thing.
Swift itself includes features with nerdly sounding names like support for closures, generics, type inference, namespaces and multiple return types. Whew. The goal was to reduce common patterns and functions into smaller portions of code, that are not only easier to write but much easier to debug. There's also a new optimizer and auto-vectorizer to further assist developers churn out great apps with less work. That's what we, as not-developers, can take away from all of this. Devs can spend less time fighting their source code and more time dreaming up cool new features so we can tap and swipe away at them all. This is why iOS 8 apps are so good — Apple provides the best tools. Period.
Swift will be available in the fall with the release of OS X 10.10 and iOS 8, but for folks wanting an early look and some light reading, the Swift language guide and reference docs are available in iBooks today.
We often forget about the developers who build the things that make our devices so cool. But Apple doesn't.
Have something to say about this story? Share your comments below! Need help with something else? Submit your question!