Ancient tutorials in the age of Swift

So I was talking in irc tonight with someone working his way through some 1.1 tutorials and it took me a bit aback. Many of the language features he described have long since changed or been abandoned, causing him much confusion in the modern toolsets.

What kind of advice can you give someone like that other than “embrace the fact that your language no longer exists and you are learning a dead language”? There are so many fundamental best practices that have shifted, what can a 1.x tutorial give to potential devs living in a 2.x world?

What advice would you give him? Mine is “stick with Apple’s book to learn the basics and keep reading release notes”. What’s yours?


  • “Converting to latest Swift syntax” tool may be ?? This migration tool will help a lot, by solving those errors you can have more thorough understanding of new concepts.

  • Embrace the flux. And never stop learning. Yes, read Apple’s Swift book, and then check out the changes via the release notes in the book. But also dedicate time every week to learning. There’s a cornucopia of great learning resources out there, most of them free or low cost.

  • I am a newbie to Swift and have a couple 1.x tutorials that I’ve tried to start. I like that Xcode does try to convert your “old” Swift to the latest version. But it is hard to learn when your “target” is moving and changing with each update to Xcode. I don’t understand why Apple didn’t “deprecate” more of the 1.x features in 2.x like other programming languages had done, where you could use the 1.x feature but it’s use is frowned upon.

    • I think it’s important to recognize if you’re the kind of person who is ecstatic about this happening or not. You don’t have to be!

      For example, listen to the episode 2 of Under the Radar that just came out, where two prominent app developers talk about why they’re still not using Swift. I decided halfway in that it wasn’t a podcast that would bring any joy to my life, so I broke up with it and deleted Overcast ?, but their opinions are valid and it’s possible for other people to empathize with them.

      I’m happy that Apple has finally brought its hardware philosophy to its programming languages: nix old technology when better is ready. We can come to places like this, or Metal by Example, if we need a little help to adopt that which will bring joy.

  • Besides the Apple book, “Apple’s Start Developing iOS Apps (Swift)” guide that they released along with iOS 9 is good because it helps bridge the gap between the essentials of the language and applying them to actual development.