|< Were there changes between the first Swift beta and release?||How important were Playgrounds and the reference guide? >|
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.
SPONSORED Join a FREE crash course for iOS devs who want to become complete senior developers — from October 18th to 24th. Learn how to apply iOS app architecture patterns through a series of lectures and practical coding sessions.
Link copied to your pasteboard.