Question: "Which features overcomplicate Swift? What should be removed?"

Written by: Reinder de Vries, March 8 2015, in Programming, Q&A, Uncategorized

I really can’t think of anything! This is a tough question…

See, Objective-C first had quirky memory management. It was overly expressive, method names were just too long. Blocks sort-of worked, but they weren’t real closures. There wasn’t a lot of safety built in, and I don’t regard it as a productive, fun to work with, language. Regardless, it got the job done.

Then, Swift came along.

Here’s what I like about Swift:

  • Optionals. Tricky at first, I thought: can’t we just leave all the !’s and ?’s and just get back to check if a variable is nil? Then, I realized optionals make your code stronger, by checking at compile-time whether a variable is not empty and usable.
  • Closures. Great for throwing in code that’s not part of your code structure.
  • Generics. Sort-of closures turned inside-out, writing code that has a specific goal or intent regardless of what types you put in.
  • Optional chaining. How many times did I write numerous if-statements to dig into a JSON structure to find out whether a variable existed? Not anymore!

Then, Swift is expressive and concise, which makes it easier to pick up for beginner developers. The language grows with you as you learn, and has plenty of fun stuff for advanced developers. And code doesn’t need to be rewritten from ObjC to Swift, thanks to the bridging headers, any library out there is usable in a Swift project.

One point of critique? Well, the compiler tends to get slow on bigger projects, especially when you do compiler-heavy stuff like type inference. And, random Xcode crashes occur from time to time. But on Swift itself? Nope.

I think Swift was made to alleviate the overcomplication of Objective-C, and to give app developers a language that’s not invented in 1983.

Join 11.000+ app developers and marketers
  • Get a weekly curated list of app development tools, articles and resources in your inbox
  • 10x your app installs with relevant App Store Optimization and app marketing strategies
  • BONUS: Grab a free copy of the App Toolbox 2017 to supercharge your next app project
Yes, Sign Me Up!

Popular Posts

Written By: Reinder de Vries

Reinder de Vries is an indie app maker who teaches aspiring app developers and marketers how to build their own apps at LearnAppMaking.com. He has developed 50+ apps and his code is used by millions of users all over the globe. When he’s not coding, he enjoys strong espresso and traveling.

Supercharge your next app project

Grab the App Toolbox 2017 to learn how to save time building your app
and how to get thousands of app installs in the App Store

Grab The App Toolbox

Comments & Thoughts


Leave a Reply

Markdown is supported (Learn more). Your email address will not be published. Required fields are marked with *

On The Blog


  • Swift 3: What's Changed?
    Swift 3: What's Changed?

    September 18 2016, in Programming

    Swift 3.0 is the first major iteration of the Swift programming language that's open source. Since it's latest inception in March 2016, Swift contributors have made major improvements to the language. So what's changed?
    Learn more...
  • Building an Instagram-Like App with Parse and Swift
    Building an Instagram-Like App with Parse and Swift

    April 19 2015, in Guide, Programming

    Parse, the mobile app platform, has one particularly interesting product: Parse Core. One of its features allows app developers to store data in the cloud, without worrying about setting up servers and designing a REST API. Parse Core is also locally backed, like Core Data, which makes it a very good solution for online-offline back-ends. This tutorial explains how to create an app that’s backed by Parse. We’ll create an Instagram-like app.
    Learn more...
  • Coding Guide: Building An In-App Message Center With Slack (With Video)
    Coding Guide: Building An In-App Message Center With Slack (With Video)

    August 30 2015, in Guide, Programming

    Let's combine 2 of the hottest things in the app world with each other: an in-app Message Center and Slack. In this guide, I'll show you how you can code a stand-alone Message Center into your app.
    Learn more...
  • App Failure: Match Around for Location-Based Dating
    App Failure: Match Around for Location-Based Dating

    September 22 2014, in App Success, Stories

    In the spring of 2011 I started working on an app concept called Match Around, it's GPS-based real-life matching and dating. Together with a marketing agency I worked out the first version of the application, tested it at a music festival and even pitched it to a multinational. What led to the demise of this app?
    Learn more...