Get Swifty // The Swift 4 Programming Language // Mimi Chenyao // Asian Barbie

Swift has come a far way since it was first released in 2014.

It’s now an open source language that can be used for much more than iOS development. Although my day-to-day interaction with Swift is mostly in the context of iOS dev, I’m excited to dive into the language itself and learn more about its various applications, starting with this blog series!

Here, we’ll be exploring the Swift 4 programming language, from the preferred way to write code (“idiomatic Swift”) to cool, trippy things such as optionals and closures that you may not have heard about before. I’ll take you through the code line-by-line so that there’s absolutely no confusion about what you’re doing — goodbye, copying and pasting chunks of code from YouTube that you only understand 50% of.

What is that … bird thing in your drawing?

That’s supposed to be an anthropomorphized version of the bird that the Swift community uses as their logo. I asked a few people whether it was creepy or cute. The general consensus was that it was both, which is of course the best outcome.

Recommended Background Knowledge

You should be familiar with basic programming concepts (variable declaration/ initialization, loops, operations, etc). Bonus if you’ve dealt with object-oriented programming languages before. If you haven’t, you should still be able to follow along, but I’ll be focusing a lot more on Swift’s particular paradigms than on the fundamentals of how programming works.

No Need for a Mac

Instead of using Playgrounds to write and test our code, we’ll be working in the IBM Swift Sandbox, a totally-online programming environment. This way, users without Macs can still execute code. IBM Swift Sandbox will show you all of your errors in-line. I personally find the errors to be more descriptive than the ones in Playgrounds.

Content Outline

I’m not trained in education or anything — I’m literally just a kid who thinks Swift is cool and reads about pedagogy in her free time. Thus, I’ll most likely be re-organizing my content plan for this series as we progress along the course. Here are the basics of what I intend to cover:

Variables and Constants

Integers

Floating-Point Numbers

Strings

Arrays

Optionals

Optional Chaining

Guard Statements

Closures

Classes

Structs

Enums

Properties

Protocols

Sound fun? Awesome! I’ll see you on the other side.

Help Spread the Love!

If you have a friend who is trying to learn about Data Structures and Algorithms, and you think that this article could help them, please send it their way! <3 I would appreciate it so much.

Mimi Chenyao // Asian Barbie