I've been recently invited by many of company those who need to find a right iOS developer. The interesting part is, in almost all of their skill lists, they all want a swift 3 experiences, which, lead me to a very confusing thought, why would they ask this question?

No need to mention, programming for iOS, you are mostly dealing with the Cocoa Touch framework(and other third party born from it), the KVO, KVC, MVC(some people like MVVM), responsible chain, the Singleton, Delegation models use widely in it. Those are the boring but productive part in your daily routine to create more features with ease. Who would concern about which Swift version do you familiar with?

Yes, I did write about a few small but nice new feature when Swift 3 is released, but let me say, why better programming in Swift, are still the points since the LANGUAGE itself first released! The Strong typing, guard and defer, protocol, and extensions. Functional features like the optional chain(monad), map/flatMap, currying are not first born on its 3 version.

I admit there are some nice features are been added in Swift 3. For example, like I've mentioned in another post, type alias of generic types, use closure as a c function pointer(the best thing) are some good feature to use. But those are just some add-on stuff! The ABI changes in Swift 3 is just some annoying works for every iOS programmer use a few second to think and hundred of minutes to kill! So the 3 is not just a high light, is just a confusing signal for people like me, why specify a 3 since 4 is almost officially out?

If you just happen to seek an iOS programmer, I think Swift and Objective C are just enough to describe what you are looking for.


Original post from my previous site: http://povoq.blogspot.com/2017/07/dont-write-swift-3-in-your-list.html