Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS

Objective-C or Swift?

What's the difference between the two and in terms of simplicity and productivity wich one should i learn ?

3 Answers

William Li
PLUS
William Li
Courses Plus Student 26,868 Points

It's not as simple as that Swift is nicer and Objective-C is old and messy; there're other things to consider as well.

Below is my answer to another forum post asking about the same question, so I just copied it over here.


If you're writing a new iOS app from scratch solo, you can do it using Swift only, there won't be much of issue for not knowing Objective-C.

However, being an iOS programmers, there're several disadvantage for not knowing Objective-C:

  • most of the existing iOS 3rd party libraries, testing frameworks are written in Objective-C.
  • inability to collaborate with other iOS developers on a legacy iOS codebase written in Objective-C, which accounts for over 90% of the apps currently on the AppStore.
  • Today, very very few companies are willing to hire iOS developers who have no experience with Objective-C.

Objective-C will continue to denominate the world of iOS development for at least several more years; Swift is cool, is new, it's bleeding-edge, it's constantly evolving and changing; many companies are holding off the move to migrate to Swift due to how new the language is, not to mention how much work and effort it takes to migrate large Objective-C codebase to Swift.

Thaks man, i can see that. So learning the two languages are the best option here?

William Li
William Li
Courses Plus Student 26,868 Points

Hi, Henrique, depends on what you are trying to do at the moment. Are you learning iOS development to write your own apps? Or are you learning the skilled needed to be hired as iOS developer?

I'm learning to write my own apps :)

William Li
William Li
Courses Plus Student 26,868 Points

cool, I do agree that Swift is a simpler language to work with. You do not have to learn 2 languages simultaneously; go with Swift first, learn it well and you can build any apps you like. Eventually, you may come to the point that perhaps your apps need to make use of a framework or libraries written in Objective-C, then you should pick up some objective-c. But the point here is that, you don't have to concern too much about Objective-C vs Swift here, the hardest part about learning iOS development is to master how to put every component together, the general flow of writing an app, debugging and performance tuneup, stuffs like that. Once you understand those, learning another language for iOS isn't difficult.

Thank you William :D

Henrique Teodoro Go with swift! you won't regret it :)

That's what i am planning ;D ty man.

Swift is a way more simple than Objective-c. Objective-c is old and messy. Objective-c still has more support because it's been around longer. I would learn Swift though.

Thanks Dude, on my way to learn Swift o/