Recorded – watch the full episode on YouTube.
When Swift was first designed, how much were you thinking about Swift usage beyond macOS, or iOS, or generally Apple platforms?
Chris Lattner: Well, I would say most of the thought was on that initially. When you start to think about languages, languages by themselves in a vacuum are really very abstract things. You have things like expressions and types and statements and syntax, and none of that really by itself ties into the platform. You need to add two numbers? Well, that should work the same on every platform.
In the case of Swift, I think it was really in the 2013 timeframe, so three years into development, where we really started pushing on let's integrate it with the Apple platform, let's make it not just about integers and strings and stuff like that, but let's make it about talking to UIWindow
or UIView
and things like that, and let's really make it talk to the framework. And talking to the framework was a whole other level of problem, which is not a theoretical abstract pure question – it's a completely concrete, grounded, grungy, nasty question of having a huge established thing, how do I move it into shape to where we can talk to it and import it and work with it, and it can feel more or less natural or as natural as we can make it within Swift?
I think that work even went into the Swift 2 timeframe, where if you were around back then you remember auditing nullability and new attributes every month to try to make it so that Objective-C API is imported better. And the great renamification that happened in Swift 3. There's a lot of places where we're trying to really take this massive, valuable set of frameworks and pull them into a view that looked good and natural and worked well for Swift developers.
This transcript was recorded as part of Swiftly Speaking. You can watch the full original episode on YouTube, or subscribe to the audio version on Apple Podcasts.
SAVE 50% To celebrate Black Friday, all our books and bundles are half price, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.