Apple has launched a new software development language that it wants iOS and Mac OS app developers to consider as today’s companion and tomorrow’s successor to C and Objective-C.
It is called 'Swift' and is “inspired by” Objective-C, which is used to write many Apple apps today, but first appeared in 1983 and is beginning to show its age.
Apple's vice-president of software engineering, Craig Federighi, showed off some of the new features in Swift at today's Worldwide Developer's Conference in San Francisco, saying it is safe, easier to work with and most of all, modern.
Swift, like Java or C++, is an object-orientated programming language - designed for the re-use of common features for faster development at the expense of flexibility.
Objective-C nerds are going to hate Swift. The language appears to enforce proper software engineering principles.— Ash Furrow (@ashfurrow) June 2, 2014
Swift supports some programming possibilities Java and C++ developers might be familiar with (like Tuples, Generics), but more importantly, the Cupertino-based company claims that it feels “more natural to read and write” in the new language.
"Swift is completely native with the Cocoa and Cocoa Touch [interfaces] and it is built with LLVM compiler," Federighi said.
Swift cares about arithmetic overflow. That is cool. pic.twitter.com/Cu3p1fojLK— Frank Denis (@jedisct1) June 2, 2014
Apple has released documentation for developers to begin learning about the new language, but new apps aren’t likely to be written in Swift until the next release of Apple’s Xcode integrated development environment (IDE), which is currently in beta form.
The company promised that the code can run alongside Objective-C code to smooth the transition for existing apps, as Swift shares the same run-time as apps built with the older language.
Federighi also promised that Swift will beat Objective-C hands down when it comes to performance, and showed off some benchmark figures to prove it.
According to Federighi, Swift contains several safeguards against programming errors, and it is also able to automatically optimise code as well as simplify complex constructs common in Objective-C, making development faster and easier.
At the WWDC event the company also demonstrated a ‘Playground’ feature for Swift programming in Xcode - essentially a sandbox - that allows developers to view changes to an app as they edit code in real-time.
Number one most attractive feature about the new Swift Language? It's not Objective-C.— Scott Hanselman (@shanselman) June 2, 2014