Hopefully, this title is the last pun I’ll make about Swift. I wanted to get it out of the way. As a quarantine hobby, I decided to teach myself Swift. It’s a comparatively new language created at Apple for their platforms. They subsequently open-sourced the project for use anywhere.
let languageName = "Swift" print(languageName)
I started dabbling in programming during high school. Were it not for some misguided counselor, I’d probably have a computer science degree rather than writing. You’ll find my views on programming and its communities’ idiosyncrasies are rooted in the humanities.
Because I dabbled over the years, I had cursory familiarity with programming languages, development tools and communities. I felt this familiarity elucidated what I didn’t know and would guide me to the best resources to learn the language and Apple’s platforms.
This assumption generally proved correct, but there’s an entire industry devoted to teaching people to code. There are too many resources to count that promise to teach you a programming language or platform. As with anything in life, more than one path is probably the best. Some, however, you may avoid entirely.
There are the least helpful. These are usually Udemy courses that always seem to have the word “complete” in the title. They usually just tell you what to type into Xcode for it to compile without errors. They say the word “apps” a lot. It’s a sentient SEO plan.
In the past, books taught life’s mysteries. In this world, I find books is often a term misapplied to what are essentially poorly edited API overviews written in Pages and exported as a PDF with minimal thought given to the layout and readability of the actual “book.”
Developers or former developers who discovered teaching people to code at scale made more money than coding write them. They contain the necessary code, of course, but little else to provide context and insight into why the code works that might inform deeper understanding.
Nevertheless, I read or reference a couple of these books. I found the best way to use them is to ignore the project they invariably build. Come up with a concrete idea that excites you, then refer to the books’ code and adapt it to your idea.
There is no sense in repeating what they’ve done in the example project. Repetition isn’t as useful here as maybe it was in school when you needed to memorize a date to prove your mind capable of low-grade clerical work. It is important to know the names of language features, but repeating the same function signature doesn’t teach you functions. It teaches you that function.
The best resource, of course, is search. Two of my favorite websites are Hacking with Swift and Swift by Sundell. If you ever search for a specific error or code example, chances are you’ll come across Stack Overflow. It’s quite popular, and the answers you’ll find will most likely solve your problem, but the comments can be unwelcoming at times or too technical for newcomers.