Hey guys,<p>I keep seeing posts on Swift and I am trying to figure out what its purpose is. I know it is a new language but is it an Objective-C replacement or more of something that should/can be used alongside Objective-C? Another question, where does this leave beginners? Will job positions for junior iOS devs require Objective-C and Swift knowledge or could one get by with just Swift knowledge?
It's a replacement for Objective-C, but you can mix and match code in the same project.<p>You'll need to know both, at least for the time being - many open source libraries are written in Objective-C, so if you need to make tweaks, you'll need to understand Objective-C. Also, a lot of existing tutorials aren't written for Swift.<p>One really important thing to note is that even though the languages are different, the underlying iOS/OS X libraries and frameworks are the same. The hard part isn't really learning the syntax of the language, it's understanding how to accomplish what you want. For instance, showing pins on a map or displaying items in a collection view.<p>FWIW, I teach iOS app development, and I think that beginners should learn Objective-C, not just Swift.
Beginners should comprehend essentials of Objective-C first and then learn Swift. At first there will be demand for Objective-C since a lot of companies already use it. But over time it should change in favour of Swift (more aggressive promotion by Apple).<p>Swift is a replacement for Objective-C in Apple world. But that doesn't mean Objective-C is going anywhere. It has rich ecosystem and experienced developers all over the world.
You can create application using both languages simultaneously which allows you to use mature libraries or frameworks in Swift.<p>Language is a tool. Companies don't hire programmers for knowledge of specified language but for the ability to solve problems.
Some jobs will require Swift, some Objective-C, some both and some neither. The best Junior jobs will realize they should require neither and hire the best general programmer, which is what I have always done.<p>Senior developers only need Obj-C for now, but should be learning Swift already.