Apple is all set to come up with a brand new version of Swift. This programming language is used to build OS X as well as iOS apps. It is also setting aims for both Windows and Linux machines. Because of open-source nature of Swift we get this unique chance to see what Apple has in store next. The opensourced Swift is now available on GitHub.
And all thanks to public release of source, what all will be a part of next major release, is now available. Everything which linked to evolution of language can be tracked via the Swift-Evolution repository on GitHub.
Any kind of proposals for the updates to language by way of new features or alterations to current behavior will come from Apple or community. All this will be subject to discussion. Apple will review each and every proposal and then come to decision what it desires to accept or reject. Swift does not have the iron clad secrecy which most of the other Apple products, boast of. The GitHub page gives an idea about future direction of Swift.
Currently, Apple intends to release Swift 3.0 is in the fall of 2016.
The new Swift 3.0 includes the following:
No updates linked to concurrency primitives or C++ interoperability are a part of next key release. Swift and Objective-C are totally different languages. And if you want them to work together it is not at all an easy task. Swift 3.0 will without a doubt make few vital things lot easier. For instance, the way Objective-C method names are translated to Swift will totally change and this way the resulting Swift names won’t be alien.
The names will go shorter and will not have types in them. For example, in Objective-C, it is fine to call method of NSString “stringWithFormat:” That “string” part is present as Objective-C’s compiler takes regard of the type information just as suggestions, while the Swift is lot more firm.
One vital thing which we will be present in Swift 3.0 is porting of the Swift minus any hassle to other important operating systems. In accordance to Apple's Swift Evolution GitHub page, Swift team is making an effort to make the same available on different platforms and making it sure that all can easily pen down portable Swift code which works minus any problems on all the given platforms.
Swift is advancing towards Linux, and even Windows. No sooner than Apple made Swift an open-source program it established potential to port to other key operating systems.
Better Translation of the Objective-C APIs to Swift
The automatic translation of Objective-C APIs will become better so as to stick on more stringently to what is mentioned in Swift API Design Guidelines.
Doing away with currying func declaration syntax
To make the language more simple, getting rid of some hardly used syntactic sugar, Swift 3.0 will shake off the curried function declaration syntax (example func foo(a:Int)(b:Int)). This is not a huge loss to have happened.
Removal of var from Function Parameters and Pattern Matching
It is no longer possible to build local mutating copies of function parameters or binding variables inside if/switch/guard/for/etc… using var keyword. Therefore, no longer will any implicit variable shadowing be done, and this is a very good thing.
The unary increment as well as decrement operators will be done away with completely.
In conclusion lovely features are being added to Swift. Bugs as well as mis-features are done away with. Portability is present and this is a huge leap. So this is what all we can expect from New Swift 3.0
Update: Swift 3.0 Preview 1 Released!