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 trialJoshua Yaghoubzadeh
30 PointsShould I Start With Swift or Objective-C?
I have no programming experience at all. Neither for apps or websites. I want to learn how to make iPhone apps. For someone who knows nothing about programming, should I start by learning Swift or Objective-C? Thanks!
2 Answers
Traci McGrew
2,559 PointsI agree with Devin. Swift is much easier syntax wise than Objective - C if you are just starting out. Apple has made the switch over to it as it's "official" language and it is meant to replace Objective-C. I would recommend you start with Swift.
You may hear some opposing opinions to that advice. This is mainly because there are a ton of things already written in Objective-C. No one is going to just rewrite all those programs etc. and many programmers already code Objective-C really well, so are hesitant to completely jump on the bandwagon and switch. (Of course some programs will be rewritten, and that is another argument to know both as you could help with the rewriting.) People may also argue you should know both so you can add onto existing projects, and reference those classes, etc. written in it. These are valid points and eventually you will need to know at least some Objective-C.
However, you are just starting out. Swift will make it easier for you to grasp the core fundamentals of programming like variables, constants, loops, methods, classes, etc. After you know one programming language, it is easier to learn others. If you learn Swift first, Objective-C will seem easier then when the time comes. Also, Apple has made many improvements in Swift over Objective-C, and one of those is speed of development. For this (and many other technical reasons you won't care about at this point in your learning) going forward new projects are going to be written in it.
The timing of your question also influences my response. If you had asked me last Fall after Swift was just out of Beta, I would have said Objective-C as there were not necessarily many good "beginner friendly" books and resources out yet. However, we're now into Spring, the books and resources have been updated for Swift, they show best practices, etc.
Devin Scheu
66,191 PointsProbably Swift because it is a newer and has a less complex syntax than Objective-C, but that is just from my perspective, some people think the Objective-C syntax is easier.
Joshua Yaghoubzadeh
30 PointsThanks Devin!
Devin Scheu
66,191 PointsDevin Scheu
66,191 PointsI completely agree! I wasn't fond of Swift until it recently, it kinda reminds my of the Python and Java thing also, Objective - C has been out longer so there is more foundation to it and it has had to to mature. But I'd hope on the Swift boat because more Swift coders will be needed than Objective - C because it is new. Traci really nails this concept in her post.
Joshua Yaghoubzadeh
30 PointsJoshua Yaghoubzadeh
30 PointsThanks Traci!