Fashionably Late: Welcome to the Swift Party

A wizard is never late, Frodo Baggins. Nor is he early. He arrives precisely when he means to. - Gandalf

Swift debuted at WWDC 2014 and Swift 2 was announced at WWDC 2015, so by now, in the infant days of 2016, I'm finally getting around to learning it. Look, I've been busy. Ok, lazy, sort of.

I watched the WWDC videos, I skimmed the initial documentation (even downloaded the iBooks version and tried to figure out how to sync it with my iPhone before realizing that iTunes is still a thing I need, sigh), and through the power of osmosis, absorbed a few things from conversation and code snippets (that seem to have now replaced my beloved Objective-C in any new iOS related explanation). But, I just never got around to writing any Swift. The language seemed too in flux during the v1.0 days and so I told myself I'd wait until things settled down a bit in v2.0. Also, I'm comfortable in Objective-C. I actually like Objective-C, verbosity, brackets, and all.

But, now I've decided that the time has come and I need to start to taking things seriously. The language has been Open Sourced in spectacular fashion, it's stable-ish, Xcode is only dog slow when using Swift instead of excruciatingly slow, and I've been hearing good things (mostly) from my PhillyCocoa friends. It's time to get to work.

I saw a talk by Daniel Steinberg at CocoaConf DC 2015 about Playgrounds and I think they are one of the best tools to come about in this nascent Swift era. Apple seems to think so, too, as they have helpfully provided a nice playground version of their Swift Guided Tour documentation. So, this is where I'm starting. There are actually a lot of helpful resources available from Apple on their developer site.

I'm an avid OmniFocus user, so to help motivate myself, I've created a project that lists all the chapters of the Swift Language Guide and set a recurring task to nag me everyday to read through at least one section. Apple helpfully broke down their documentation into coherent sections, so I'll take the hint and try studying them accordingly.

OmniFocus Action Shot!

Once I get the hang of things via the Playground and reading through some of the documentation, I'll start coding. I find that I usually need to study a language a bit before I start messing around too much with it or I get overly frustrated trying to apply syntax and concepts that I'm too unfamiliar with. So, I hope this approach will work out. If anyone has any great Swift demo projects they think I should check out, let me know. I'd appreciate it.

As I discover anything interesting, I'll be sure to post about it. The path may be somewhat well-worn by now, but it is new to me. I'm looking forward to the journey.