Apple used its WWDC 2014 keynote to introduce Swift, a new programming language for iOS and OS X. Following its unveiling, the news was greeted with a round of cheers by the developers in the audience. As noted by TechCrunch, Swift is a major undertaking for Apple, which has been working on the language for four years. Apple released an iBook introducing developers to Swift with explanations of the basic operation of the language along with code examples. Chris Lattner, head of Apple’s Developer Tools department, added some additional details on the development of the project, which began in earnest in 2010 with a small group dedicated to the endeavor.
The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list. The Xcode Playgrounds feature and REPL were a personal passion of mine, to make programming more interactive and approachable. The Xcode and LLDB teams have done a phenomenal job turning crazy ideas into something truly great. Playgrounds were heavily influenced by Bret Victor’s ideas, by Light Table and by many other interactive systems.
A team of coders began working on the project in 2011, and it remained a small affair until last year when the Swift project became the main focus of Lattner’s developer tools team. Swift, Lattner claims, is designed to be “concise yet expressive,” making it easier for developers to learn and adopt the language.
I hope that by making programming more approachable and fun, we’ll appeal to the next generation of programmers and to help redefine how Computer Science is taught.
When designing the syntax and structure of the language, Lattner’s team looked to Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and other languages.
Are you interested in iOS programming now that Swift promises to make it easier to learn?