Swift, Apple’s new programming language billed as taking the C out of Objective-C, was one of the biggest surprises at WWDC 2014. The Swift project started at Apple roughly 4 years ago as one of several explorations into what would replace the NeXT-era Object-C language. It was spearheaded by Chris Lattner, head of Apple’s developer tools department, who also spearheaded LLVM (lower level virtual machine) and Clang, Apple’s compiler technologies. Lattner shared some insight into Swift on his site, nondot:
I started work on the Swift Programming Language (wikipedia) in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013.
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.
That Swift won out over existing higher level and scripting language projects is provocative, but it’s also early days. There’s no word on how much, if any, of Swift will be open sourced, for example. Right now Lattner and team are focused exclusively on getting the final release ready for the fall. Swift has only just been introduced and thousands if not millions of people will soon be hitting it full speed and full force. They’ll find edge cases and do things no internal planning or QA (quality assurance) can prepare for or expect. Apple will learn and Swift will change and evolve.
So will the rest of Apple’s platforms. Objective-C was the result of Apple buying NeXT. Swift is the result of steady, continuous changes. It’s the result of smart management and responsible stewardship, that, in the fullness of time, will likely result in just as much of a leap forward as a NeXT-style purchase. It’s also something more.
In his brief write up Lattner discusses Playgrounds, the interactive environment in Xcode, and his hopes that making programming more fun Apple can appeal to the next generation of programmers.
That’s an incredibly important point and incredibly laudable focus. If there’s one thing I’ve heard repeatedly from developers since Swift’s unveiling it’s exactly that hope. My generation grew up with Basic and Logo and other languages that made it relatively easy to get programming into elementary schools and kids into programming even at a very young age. The Web inspector provides similarly immediate feedback for modern web developers.
Objective-C was unlikely to be in any grade school curriculum, unlikely to be any child’s first programming language. We’ll have to wait and see how Swift and Playgrounds fare, but if they really do make it easier to engage new programmers at a younger age the value to Apple, the industry, and the future will be incalculable.
Apple has made the Swift Programming Language Guide available in the iBook Store. Anyone not already a seasoned Objective C programmer thinking of giving it a shot?