Development

Inspecting Swift, Apple’s Gem of a New Programming Language

2 Jun 2014 5:55pm, by

Maybe some people were expecting Swift, I wasn’t. However the need for Swift has existed for well over a decade. Objective-C has been a notorious, albeit capable language, that much of the Apple Developer Community has wanted replaced for some time. If not replace, at least an alternate provided that wasn’t so cumbersome. Enter Apple’s Swift (not to be confused with the Swift scripting language).

With the release of Swift, Apple finally has released a programming language that brings the OS X and iOS Platform Language options into the 21st Century. I say this simply because .NET’s C#, has had many of the features on Windows since 2005 and Windows Phone since it’s release some years later. Many of these features are a standard in many modern languages today; closures with function pointers, generics, tuples and related multiple value return values, and functional programming patterns just to name a few.

Swift is being released as a replacement for Objective-C. That leaves Swift with 20 years of Objective-C to replace plus a host of new features already implemented. This isn’t a bad thing, but it definitely will provide a rough growing experience for the language. Just do a search on #swift and you’ll see the twitterverse is alive with conversation and people trying out the language, with a few notable bugs and gotchas here and there.

What Will Swift Do For Apple and Its Apple Developer Community?

REPL (Read Eval Print Loop) is one of the most common ways to do development, especially on Unix & Linux based operating systems like OS X. Ruby, Python, JavaScript and many other languages are regularly developed with using a standard REPL to build, code and work with. Now that Swift is basically starting out that way, it’s a nice improvement that’s more inclusive of a huge number of developers.

On the flip side, there are still standard development environments and IDE options to develop with Swift. It uses LLVM to build with XCode, and by association it can run side by side with Objective-C. This inherent feature will help developers that try to clean up and port old Objective-C applications. If someone isn’t porting an application, it then provides the ability for the developers to at least create new features with Swift instead of Objective-C. Immediately and over time, Swift will start saving a lot of time over Objective-C.

From a computing point of view, Swift is dramatically faster than Objective-C for many processing tasks. Providing an immediate jolt in performance for applications ported over to Swift that are currently in Objective-C. The other features that will help developers in huge ways include; first-order objects, nested functions, closures and many others. Overall Swift will have a huge pay off for Apple since it will bring iOS and OS-X the cleaner and more modern languages features that the modern software developer demands. By appealing to a greater number of developers, Apple has the obvious addition of thousands of new prospective platform developers.

Xamarin’s Been At It For Years

In my humble opinion, Swift is a major move forward in modernizing the language options for OS-X and iOS. Objective-C has left Apple behind competitors for the last 10 or so years. But even with this addition, other options have been available that provide a clean language, like C# to build into iOS and OS-X Application. Xamarin Studio has used C# which has the features that Swift now has, except C# has had them for over a decade. Many of the newer features C# has also had, and for years Xamarin has provided this avenue for building iOS and OS-X Applications. Albeit, without official endorsement from Apple and C# originating from Microsoft, it’s always received a small welcome among Apple and Microsoft Developers.

And Then There is JavaScript

Many have asked, “why not choose JavaScript as the language to replace Objective-C?” I’m not even going to attempt an answer to that question. Suffice to say JavaScript isn’t the most elegant or well built language. But there are still options out there for JavaScripters wanting to build iOS Applications. One of those options is PhoneGap. It provides a way to use HTML and JavaScript to build an application and then have it built into native iOS binaries. This is nice, but something that Apple obviously didn’t even want to consider.

For Apple there are the programmers that have been coding with Xamarin Studio that wanted a modern language ages ago, the JavaScripter slinging code with PhoneGap, and the Objective-C coder fighting that beast of a language and building elegant apps. All of these iOS and OS X Developers now have good reason to give Swift a hard look and see if it is a better option for them.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.