Swift 3.1 coming in spring 2017, focus quickly switching to Swift 4
Apple's Swift team is aiming to have version 3.1 of the programming language ready next spring, after which it will fully turn its attention to Swift 4, according to a recent blog post.
Swift 3.1 will make some "additive enhancements to the core language," along with improvements to Linux support and the Swift Package Manager, said Apple's Ted Kremenek. He also promised better overall quality for the compiler and Standard Library.
Sources built with the Swift 3.0 compiler should continue to build with 3.1, Kremenek noted, the only exceptions being fixes that cause it to reject code that should've been tossed out anyway.
Instead of irregular "Developer Previews," Swift 3.1 will emerge in daily downloadable "snapshots" of the release branch -- making sure that people can test as many features and bugfixes as possible.
Core development of 3.1 is expected to end on Jan. 16, after which only critical fixes will be implemented before the final release. Attention will already be switching to Swift 4.
Swift 3.1 will make some "additive enhancements to the core language," along with improvements to Linux support and the Swift Package Manager, said Apple's Ted Kremenek. He also promised better overall quality for the compiler and Standard Library.
Sources built with the Swift 3.0 compiler should continue to build with 3.1, Kremenek noted, the only exceptions being fixes that cause it to reject code that should've been tossed out anyway.
Instead of irregular "Developer Previews," Swift 3.1 will emerge in daily downloadable "snapshots" of the release branch -- making sure that people can test as many features and bugfixes as possible.
Core development of 3.1 is expected to end on Jan. 16, after which only critical fixes will be implemented before the final release. Attention will already be switching to Swift 4.
Comments
These guys -- along with the SOC designers -- continue to fire on all cylinders.
http://www.tiobe.com/tiobe-index/
My impression (but I hope someone else can confirm or correct this) is that the thing that makes Swift a legitimately big deal is that it is a very pragmatic, non-ideological language. It attempts to take the best aspects of multiple different approaches and combine them. For example, it has the speed of a compiled language but the human-friendliness and portability of a scripting language. There are no free lunches, though, so it does have to give up some things. I doubt it will ever be as fast as Fortran, for example (though I'd be happy to be proven wrong).
If my impression is correct, then I think Swift represents Apple at its very best -- a very carefully designed product that strikes exactly the right balance in order to help people get a job done.
I just hope Swift represents the future of Apple and isn't just a remnant of the past.
It's not obvious to me how big Swift is in the big scheme of things, but it significantly lowers the bar for writing iOS apps.
Having said that, Objective-C became one of the most popular languages in the world solely because it was required to create iOS apps. Developers will do whatever it takes to be part of the iOS eco-system. Swift just makes that hurdle must less annoying.
Personally, I think Swift is a beautiful, elegant language and am happy to put Objective-C in the rearview mirror. But I doubt it's going to supplant Java for enterprise coding, VB for light office stuff, Python for scripting/hacking, etc. It's just a gift to Apple developers. That's not a bad thing; it's better to have developers saying "I love coding in Swift" rather than "Why do we have to use Objective-C?" But I doubt we'll see any breakthrough apps that wouldn't have been created if Swift was never developed.
To be clear, I'm happy with what Apple is doing with regard to Swift, but I expect it will help Apple as much as owning Java helps Oracle (i.e., not much in any financial sense).
http://www.infoworld.com/article/3088305/application-development/server-side-developers-take-a-shine-to-swift.html
We should be pretty safe going forward from Swift 3 -- much easier than Swift 1 or 2 (it's been an amazing couple of years).
It appears that in Swift 3 Apple/Swift.org are reimplementing most of the Foundation * APIs in Swift, making the language more readable/concise and fleshing out some weaker areas of the language, itself.
* You're seeing fewer NS prefixes...
- Swift is more concise than Objective-C. Less to type; less to read.
- Consequently, Swift is easier to learn than Objective-C (for a newbie).
- Being a new language, Swift has the luxury of "doing the right thing" without baggage from past languages.
- Swift is not (primarily) a scripting language; it is a true programming language like C, Java, etc. Scripting via Swift is possible (I believe), but that's not its primary use.
- Apple's open-sourcing of Swift creates the possibility of it expanding to non-Apple platforms. For example, I saw a recent post of Swift being available on the BSD UNIX variant (a non-Apple operating system).
- Having said that:
Short answer: It's easy to learn for newbies, and powerful.- Swift is functionally equivalent to Objective-C, not better (or worse).
- Developers with deep skills in Objective-C may not feel a need to switch to Swift.
- Supposedly many of Apple's internal teams continue using Objective-C, not Swift.
Somethings to consider:
Apple announced Swift as a System programming language -- not just an Application programming language.
To me that means that an OS to a CLI Shell script (and anything in between) can be written in Swift. For example, I suspect that the macOS dock was reimplemented in Swift.
On another thread I posted an example of a Swift Playground that created and ran CLI Shell scripts written in Swift or BASH.
http://forums.appleinsider.com/discussion/comment/2911902/#Comment_2911902
sf6ghdbkvw8d.png
bhx79ozd6cru.png
This was a proof-of-concept that show that you could use Swift to download, install and test Swift -- that's dogfooding!
The same process could be used for other languages such as: Perl, Ruby, Python, etc.
It should be noted that you can execute JavaScript code directly within a Swift program.
You know, I wonder how many people have written swift in anger. It does allow for some savings in writing string manipulation and the way that mutablility and immutablility is handled but it can get complex fairly fast. In terms of what you needed to know for the API set it is equivalent to Objective C, of course, since the AppKit, UIKit etc are the same API for both. Written in fact in Objective C and will be for the foreseeable.
However in terms of additions to the language swift adds more, much more: from closures ( escaped, unescaped and others), tuples, enums as first class citizens, structs as first class citizens,generics, extended protocols with methods, the much disliked optionals, generics and bracket blindness, guard statments and probably much more I havent encountered even though I use it. So the learning curve is harder. I am in fact teaching it internally where I work, and past the first day of playing with play grounds people get flumoxed often as not.
This article is about Swift, so it didn't seem appropriate to digress into Obj-C.
It appears as if Foundation has been [almost] completely rewritten in Swift -- so it can be included in any platform implementation.
As you say most of the underlying Xcode frameworks are written in/for Obj-C. However, in Swift 3, Apple has done a lot to Swiftify the APIs for many of these frameworks.
I wonder if:
If not, the open-source community will, likely, develop open-source equivalents to most of Apple's frameworks.
It could be advantageous to Apple to offer Swift frameworks/APIs and Xcode to the open-source community!
It's possible that a lot of the difficulty and frustration (mine, included) comes from the
These problems should be resolved as the [current] Swift 3 implementation stabilizes and comes into more common use.
Consider: