At its WWDC event on Monday, Apple made waves among the iOS and Mac developer communities with the announcement of Swift, a new programming language designed from the ground up by the company’s developer tools team.
The language itself builds upon the compiler, runtime, and libraries that Apple developers use with Objective-C today, which means that those already familiar with the tools for making iOS and Mac apps only need to pick up a bit of syntax before they can start working Swift code into their existing codebases. Heck, one enterprising programmer already built a Flappy Bird clone with Swift in only nine hours – breaks included.
According to Chris Lattner, director of Apple’s Developer Tools Department, the Swift programming language has only been in development since July 2010. On his personal website, he writes that the language began as a solo project, with “only a few people knowing of its existence.” Lattner goes on to write that a select few engineers joined him on the project in late 2011, and that it only became a major focus for the Apple Developer Tools team in July 2013.
While Apple could have justified the creation of Swift by simply saying, “hey, this is better than Obective-C” (see: this tweet by a member of the Objective-C runtime team), Lattner claims that his motivations for the project were far bigger in scope:
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.
Lattner’s page also hints at the influences behind Swift, which from most outsiders’ perspectives seems to be the long-term replacement for Objective-C, which has been around since 1983.
He notes that his team drew from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and other languages when designing the syntax and structure of the language, while adding that the interactive “Playgrounds” feature for Swift in Xcode was inspired by Bret Victor’s theories on making programming “learnable,” as well as Light Table, an extensible, interactive programming environment that raised over $300,000 on Kickstarter in 2012.