Should I Learn the New Programming Language, Swift?

swift

Update: We’re excited to announce that Treehouse has launched its Learn Swift courses as of today! Learn Swift basics, Swift functions, and build two real apps with Swift. Learn more about our Swift courses.

Over the past year, responsive design has become quite the hot topic in the web design community. If all the buzz has you feeling like Rip Van Winkle waking up in the 21st century, this summary will help you catch up with the times.
Today Apple announced the release of a brand new language called Swift. This is a paradigm shift and one that was desperately needed by the community. Objective-C is a relic of the past which was showing its age. Apple has been trying to update the language but it had a long way to go. With Swift they made a clean break. Now we get a modern language that has features found in languages like Ruby, Python, Go, etc.

Here are some of the highlights of the language according to Apple:

Closures
Tuples and multiple return values
Generics
Enums and Structs
Optional chaining
These are some advanced features for a language that looks deceptively easy to learn. Swift is not just new syntax but it’s a completely new language from the ground up.

We’ve received several emails and tweets with questions about Swift. This post will try to address most of those questions. Feel free to ask any other questions that I may have missed.

Q. When will Treehouse have a course on Swift?

A. Apple has a Non-Disclosure Agreement (NDA) on all new technologies they announce at WWDC, which means nobody can publicly talk about them until the official release of iOS in the fall. We could have a course ‘swiftly’, however if it falls under the NDA then we can’t release it until the public release of iOS.

Apple has released a book on Swift and our guess is that the language might be exempt from the NDA but not the tools. We cannot teach the language without being able to use the tool (Xcode). We are trying to get the official word from Apple.

Q. I just started learning Objective-C, should I just learn Swift instead?

A. As mentioned above, Apple has released a comprehensive Swift book so by all means start learning Swift. After glancing through the book I believe that on some levels Swift may be harder to learn because of the advanced features mentioned above. My suggestion would be to continue learning Objective-C, although it may look difficult syntactically but conceptually it’s a much simpler language and great for a beginner. Once you get the hang of Objective-C then switching over to Swift will be a lot easier because the two languages are quite similar.

Q. Will Swift take over Objective-C?

A. For now, Apple is supporting both the languages so Objective-C is not going anywhere. There are 1.2 million apps in the App Store and I’m pretty sure majority of them are written in Objective-C. Rest assured, if you are looking for a job then most probably your future employer has an existing app that is written in Objective-C which you will have to learn inevitably.

Eventually, developers will start switching over to Swift and you will see a wider adoption of the language but do not expect existing projects to completely overhaul their apps to use the new language. Swift is here to stay and Objective-C will ride into the sunset but this whole process will take a while.

And if you ‘do’ want to learn Objective C while waiting for Swift to come out of beta, then take Amit’s course and sign up for our iOS Development track.

Free Workshops

Watch one of our expert, full-length teaching videos. Choose from either HTML, CSS or Wordpress.

Start learning

Amit Bijlani

Amit is an iOS Developer who loves teaching and speaking about iOS. When not in front of a computer, he's exploring the outdoors or meditating. Follow him on Twitter: @paradoxed

Comments

8 comments on “Should I Learn the New Programming Language, Swift?

  1. I can not wait to start, I am trying to finish my current track of Ruby on Rails then the app to interact with it! by then I am sure their is going to be a swift in the IOS track.

  2. Hello Amit,

    Why apple introduce new programming language ?
    Was Objective-C not enough ?
    Is it not possible to make Objective-C faster ? (as they told Swift faster)
    What they mean by interactive (Swift)? Can we talk with Swift ? (LOL)

    Thank You…

    • Hi, I know you asked for Amit but I can try to answer your question to the best of my ability.

      Apple introduced Swift because they didn’t want the constraints of C and they wanted us to be familiar with a more modern language.

      Objective C is a very good language, some of the best apps you see today are made with objective-c, it is enough actually, Apple didn’t want you to pick Swift or Objective C, You can still write your apps in objective-c if you wanted to.

      Objective-C and Swift have the same compiling speeds, and it doesn’t make your apps faster if that’s what you’re talking about. However I believe the graph you saw at Apple, was showing how fast you can complete writing a program with swift rather than Objective-C.

  3. I wrote a tutorial that makes this question a little easier to answer, because it shows how quickly and easily someone can learn. It really only takes a few hours to familiarize yourself. Take a look: http://bit.ly/1q2WgJV