UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

How did Swift change the landscape for developers?

Recorded – watch the full episode on YouTube.

On the day of WWDC 2014 you came on stage to show live Swift code for the very first time, with millions of folks watching at home and watching this thing live on stage. What does it feel like getting on stage to that kind of environment?

Chris Lattner: It was extraordinary, both good and bad. So on the one hand, it was the culmination of a huge amount of work. In particular, Swift was a long-term project, but the last year of it's development was a lot of work and by a lot of really good people and it was very stressful, a lot of ambiguity and so getting there was huge.

On the other hand, Paul you may remember that beta one was not perhaps the most stable creation ever. The demo was beta one. The demo was in playgrounds. The demo used this entirely brand new complicated technology stack going from LDP to playgrounds, extra visualization, all of this stuff. Let's just say the ramp up towards that was not super smooth. Turns out that was actually really hard, and kudos to Tim for not actually throttling me and kicking me off stage during practice. But it was pretty close, and was quite stressful.

"The moment I walked off stage, it was just very much relief. It's like we did it, we made it, the world's excited. Let's see what happens. And then it's time to see were you right, were you wrong about this whole premise of the world would like to see a new thing."

But on the other hand, just getting there was a huge relief. I don't think that I'm the world's best public speaker so that also put some pressure on you. But the moment I walked off stage, it was just very much relief. It's like we did it, we made it, the world's excited. Let's see what happens. And then it's time to see were you right, were you wrong about this whole premise. And then that was a very interesting, very exciting time.

I think that the developer reaction was just incredible. It was really great to see that, both the positive and the negative because of course there's a lot of people that saying, “what's wrong with Objective-C? It's awesome. I've invested a lot in learning this. There's a whole new thing and so now my experience is being invalidated and I'm a newbie just like everybody else.” So there's that side, but there are also people that, particularly after 1.0, we got a lot of positive feedback about – “I never would've gotten into programming or I tried Objective-C, it was too hard and now I feel like I can do things and I understand how it works.” That was just fantastic.

"I'm really happy that Swift is more accessible and so new kinds of people, new kinds of ideas are able to be realized."

Paul Hudson: There are several hundred folks in the chat saying thank you so much for your work by the way. Here is one who goes by the name Swifty McSwiftFace who says I would never have entered development without it and that's remarkable. I think a lot of folks feel that way because it changed the landscape of what we can do and lowered the barrier to entry as well because you start with square brackets and semi-colons and parentheses and stars, but now they've all gone and so it makes it easier for everyone to get involved. So it was a remarkable change for us.

Chris Lattner: Well, I mean I look at that in two ways. One of which is I'm really happy that Swift is more accessible and so new kinds of people, new kinds of ideas are able to be realized. Because that's one of the things with technologies, that are complicated: they have a high learning curve. So you exclude a lot of really good people from getting in the door and therefore the world is excluded from their inventions. And I don't think that's a good thing.

I think it's much better to bring in as many people as you can and I think we've talked about this before that the community aspect is really, really important. On the other hand, there's another aspect of this which is Swift and this idea of progressive disclosure of complexity makes it so you can get in but there's no ceiling to what you can do. Many easy to learn systems or easy to learn languages make the starting point really easy but then you get to the point where it just doesn't scale or you can't do something real or you can't get to the next domain over.

It's really optimized. MATLAB is really good at one kind of work, but you want to build a mobile app with it and you can't do that. So one of the nice things about Swift and the design point was that you can get in and then as you develop your expertise, you can get more and more sophisticated. You can learn more of the power user features. You can take it with you as you go on your career to different places and so I hope that is actually one of the longest biggest impact things because you can take Swift and it can be useful in many different ways.

Paul Hudson: I think mentally we'd all, at least certainly I would, struggle to imagine an Objective-C edition of Apple’s Everyone Can Code curriculum, because the barrier would be just harder and higher to get to that point to explain to students who are learning. My daughter started at five or six years old doing Swift playgrounds. She loved moving the Byte character around. I cannot imagine that in Objective-C because there's so much explanation just to get the first few lines of code to work.

"Swift came from a different era. Starting in 2010, you can look around at a much wider range of languages, objects weren't new anymore, there are other new ideas, including functional programming, and other things like that were much more on the scene and so Swift could draw from the experience of all these different things."

Chris Lattner: Yep. Well, I mean, incidentally I'm a huge fan of Objective-C. Just recently, a history of Objective-C got published by the HOPL conference, the history of programming languages. I highly recommend you check it out if you're interested but Objective-C, the the thing about Objective-C is it is a beautiful thing, it just comes from a different era. It came from the early eighties. It came from a world of extreme resource constraints. And so it makes perfect sense to take C and then put objects on top of it. And that putting objects on top of it was very hard. Nobody had done that before. And so there's a lot of open questions about what is the right or wrong way to do things. There was no community at the time and so it was like Objective-C was an amazing leap forward for it's time.

But Swift came from a different era. Starting in 2010, you can look around at a much wider range of languages, objects weren't new anymore, there's other new ideas, such as functional programming, and other things that were much more on the scene and so Swift could draw from the experience of all these different things. And by being a clean slate design instead of being an extension on top of C, that really enabled a lot of design space that Objective-C couldn't explore.

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

BUILD THE ULTIMATE PORTFOLIO APP Most Swift tutorials help you solve one specific problem, but in my Ultimate Portfolio App series I show you how to get all the best practices into a single app: architecture, testing, performance, accessibility, localization, project organization, and so much more, all while building a SwiftUI app that works on iOS, macOS and watchOS.

Get it on Hacking with Swift+

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

BUY OUR BOOKS
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.