Should I learn Swift or Objective-C for iOS development?

Aaron Brager
iOS App Development
4 min readMar 5, 2015

Beginner students will be better served by initially learning Objective-C. Here’s why:

  • Companies aren’t hiring Swift-only developers yet
  • iOS Developers still need to know Objective-C
  • Swift is harder to learn
  • Swift is constantly changing

Swift is good for existing developers who already know Mac or iOS development and want to learn — and help shape — a new language. Beginner developers who just want to experiment, don’t want to get an iOS developer job, and don’t mind dealing with extra bugs while they’re learning, may be interested in learning it as well.

Students need to be prepared to use Swift as these problems get resolved in the future, so at Bloc, we teach some Swift along with Objective-C.

Companies aren’t hiring Swift developers yet

The App Store contains about 1.2 million apps, mostly written in Objective-C. Nearly all of the thousands and thousands of iOS developer job openings today require Objective-C knowledge. Most of the job listings that mention Swift want senior developers with Swift and Objective-C chops.

Colin Eberhardt put together some informal Swift adoption statistics in August 2014. He concludes:

iOS development activity is still predominantly Objective-C, with roughly 3x more activity vs. Swift.

He also notices spikes in Objective-C activity on weekdays, possibly indicating that Swift is currently more of a hobby.

iOS Developers still need to know Objective-C

Even if you’re writing an app for yourself and you’re uninterested in a new job, you still need to know Objective-C to be a good iOS developer.

Big Nerd Ranch teacher Aaron Hillegass outlines a number of reasons. Among them, you’ll want to use third-party libraries in your app. (Libraries contain reusable, time-saving code. For example, Facebook’s popular Pop library makes physics-based interactions easy.) Most battle-tested third-party libraries are written in Objective-C. To understand and use these libraries, you’ll need to be able to read them. Additionally, most tutorials, blog posts, and Stack Overflow questions are written in Objective-C. You’ll have more trouble learning if you can’t understand these posts.

Swift is harder to learn

Although Swift is friendlier-looking, it’s more complex and harder to learn than Objective-C.

Brent Simmons, a prominent Mac and iOS developer, describes it well:

Objective-C looks hard because of the [ and ] syntax and all those words. It looks kind of mean, actually, like an angry grandpa with bushy eyebrows who makes you spell out “I am laughing out loud” instead of writing LOL.

But Objective-C is easy compared to Swift. Swift looks easier at first blush — every JavaScript developer sees it as familiar, and many think that this might be their way into writing native apps.

Swift has many nuances to learn, which you don’t need to learn in Objective-C. For example, there’s different behavior for classes and structures, optional chaining, generic types, strict type safety, and more.

These additions are all welcome, but they add complexity and advanced features that beginners don’t need to learn initially.

Aside from its funny-looking syntax, Objective-C is an easier language for beginner developers to learn.

Swift is constantly changing

New versions of Swift are released frequently. Since Bloc released a free Swiftris Tutorial, we’ve made four revisions to keep it up-to-date with the latest version of Swift. And new beta versions are already out, so we’ll have more revisions to make in the future. This update frequency is unusual for an established language like Objective-C, which receives minor updates about annually.

As a beginner, it’s challenging enough learning to write code. If you learn Swift first, you’re setting yourself up for derailment if a Swift update is released just as you’re starting to grasp a new concept.

For example: on June 8, 2015, Apple announced Swift 2.0. It contains many great changes, some of which break existing code. Although Xcode includes an excellent migration tool, beginners shouldn’t need to hit a constantly-shifting target.

Bloc teaches both Objective-C and Swift

The good news is, once you’ve learned Objective-C, learning Swift will be much easier. At Bloc, we prepare all of our students for a future where Swift is stable and required. All Bloc students learn the basics of Swift syntax and must complete some Swift exercises to demonstrate understanding.

During the projects phase of the apprenticeship, in which students build iOS apps, students can choose to build apps in Objective-C or Swift, depending on where they want to explore. Students can work with their personal program coordinator and their mentor to ensure their choices align with their long-term goals. Because of our curriculum’s flexibility, you can complete anywhere from 2% to 70% of the Bloc iOS program in Swift.

For more information about Bloc’s online iOS bootcamp, review our iOS syllabus.

--

--

Aaron Brager
iOS App Development

I have a secret plan to fight inflation. Also, I code iOS apps, try to understand ideas I disagree with, and sometimes play chess.