TEAM LICENSES: Save money and learn new skills through a Hacking with Swift+ team license >>

When Swift was first designed, were you only thinking about Apple platforms?

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.

Listen on Apple Podcasts

Hacking with Swift is sponsored by Superwall.

SPONSORED Superwall lets you build & test paywalls without shipping updates. Run experiments, offer sales, segment users, update locked features and more at the click of button. Best part? It's FREE for up to 250 conversions / mo and the Superwall team builds out 100% custom paywalls – free of charge.

Learn More

Sponsor Hacking with Swift and reach the world's largest Swift community!

Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

Unknown user

You are not logged in

Log in or create account

Link copied to your pasteboard.