Apple’s Swift programming language and what it means for developers and users

At WWDC 2014, “Apple revealed iOS 8 and OS X 10.10 Yosemite. Both of these were expected by everyone who has followed Apple’s pattern of software reveals at WWDC for the past few years,” Brandon Chester reports for AnandTech. “But Apple also revealed new power tools for developers that nobody had expected or even imagined would arrive.”

“One of the most significant of these is Apple’s new Metal API to greatly improve graphic performance by removing the limitations and performance impacts created by using OpenGL,” Chester reports. “Another, and arguably the most significant of them all, is Swift. Swift is Apple’s new programming language. After four years in development and without a single leak, Apple has created and now revealed what will become the foundation of a new generation of applications for both OS X and iOS.”

“Safety, modern syntax, and powerful features are three design principles that guided the development of Swift and it really shows. There are huge benefits for developers which translate to benefits for users,” Chester reports. “Naturally because of that, the first thing to discuss is why Swift is great for programmers before discussing why it will be great for users.”

Tons more in the – recommended – full article here.

Related articles:
Apple’s Swift is instant hit among top programming languages – June 10, 2014
Swift: Apple’s next-gen programming language 4 years in the making – June 4, 2014
Why developers are going nuts over Apple’s new ‘Swift’ programming language – June 3, 2014
Apple just delivered a knockout blow to Android with iOS 8 – June 2, 2014
Xcode 6 features resizable device simulators, paving way for iPhones with new screen sizes – June 2, 2014
WWDC 2014: Apple sets the scene for its next decade – June 2, 2014
Apple unveils new versions of OS X and iOS, major iCloud update with iCloud Drive – June 2, 2014
Apple’S WWDC news bores investors, not developers – June 2, 2014
Apple’s HealthKit aims to unite wearables and fitness apps – June 2, 2014
Apple releases iOS 8 SDK with over 4,000 new APIs – June 2, 2014
Apple unveils iOS 8, the biggest release since the launch of the App Store – June 2, 2014
Apple announces OS X Yosemite for Macintosh – June 2, 2014

11 Comments

  1. Keep in mind that most of those Android apps were created after the iOS apps. Now, if Swift is used then the porting of “C” based apps to Android will end or be greatly slowed down.

    Great move Apple!

    1. Well, that’s really up to the developer. There’s clearly going to be a pull between OLD C coding, which will be useful for universal programming, and NEW son-of-C programming which promises to be a breakthrough in reliability, simplicity… but limited to Apple coding only.

      Of course the lure of coding for Apple gear remains stronger than the PITA annoyance of coding for fragmandroid, not to mention the likely lower Android sales.

      1. Here’s hoping this will be Apple’s ‘Thermonuclear’ option: that developing apps using Swift will lead to a decline in developing or porting to Android or other platforms. Leaving aside for now the inevitable whining that will emerge from Android users that this is a proprietary platform, this may accelerate Android’s decline.

        1. Also, I think developers are going to FURTHER appreciate Apple’s write-it-once, with relative ease and reliability, then compile it approach. Compare this to the OMFG fragmandroid rewrite many times for many kinds of phones with many versions of Android, from ancient to new, then compile nearly each one separately and you want to puke.

          It makes the suffering that is Android development all the more sickening. And Google can’t do a damned thing to change that situation. They created it, they’re stuck in their own mire. But HEY! Their mire is free.

    2. Incorrect.

      If I’m not mistaken, most Android devs program in Java… though you can use C and C++ to eke more performance out of Android. Swift now has introduced many of the features in modern languages like Java and even some powerful ones like Generics which has been implemented in C# for years.

      If anything, Swift makes it EASIER to port titles as devs who prefer to work in C# or Java will find the transition to Swift easier.

      Software devs like monotouch will really benefit from Swift as they will find the new language structures of Swift easier to replicate from C#.

      Apple now has a language which has entered the modern age. They are now starting to be willing to work with devs… more than just providing the platform to make money on.

      Swift also will tempt C# developers to code directly for the platform rather than use something like Xamarin’s monotouch. Very cool.

  2. Correct me if I am wrong but next to zero IOS apps are written in pure C. they are written in objective-C which is a superset of C. On the other hand most of the Android apps are written in a Java derivative which is C-like in syntax but differs a lot in philosophy from Objective-C. So porting from IOS to Android or vice-versa is a very laborious task. Which involves not only switching from one language to another but also switching between different APIs/frameworks. Most developers who write for both platforms already have tools or methodologies that help them port the code. They are not going to switch to Swift overnight (if ever) as long as Objective-C remains available . I don’t see Apple deprecating Obj-C anytime soon unless there is a compelling reason for doing so (Does anyone remember Carbon?).
    Other developers simply write two applications (one for each platform) that behave the same. This group will be tempted to switch to Swift if they find it makes their life easier by reducing development time and making their apps more reliable

    1. Objective-C is a thinly veiled superset of C.

      Java is really nothing like C… just shares some syntax.

      C# is similar to Java but adds many of the powerful features that Swift just added.

      Porting from iOS to Java and especially C# just got way easier. Performance will be an issue on Java, though. MOVING from C# or Java to Swift just got way easier.

      Obj-C programmers will likely not leave Obj-C… but C# and Java devs will be a LOT more likely to pick up Swift… as Swift basically brings Apple’s language up to parity (and perhaps exceeds C#/Java in some ways as well)

    1. Swift files are Swift files – they cannot include C or Objective-C code in them. There may be times when you’ll have to create a “bridge” to access objects and functions (APIs) written in either C or Objective-C that have not been rewritten in Swift.

      I just had to rewrite a couple of Objective-C cryptography routines that extended NSData… they relied heavily on C code as the cryptography (CommonCrypto) library is C based.

      It was completely unnecessary to rewrite them as they worked fine in Objective-C, but it was done as a learning experience.

      Xcode offers an automatic feature that will bridge C/Objective-C APIs (header files), so that you can use them in your Swift code, but C is a fairly loosely typed language and Swift is NOT. Is a pain making sure everything is cast correctly!

Reader Feedback

This site uses Akismet to reduce spam. Learn how your comment data is processed.