Swift 3.1 coming in spring 2017, focus quickly switching to Swift 4

Posted:
in General Discussion
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.

Comments

  • Reply 1 of 16
    I recently joined the community that Apple makes available for Developer input to the language's evolution.  It's very exciting to listen in to the conversation... and contribute an idea when you have one.
  • Reply 2 of 16
    blastdoorblastdoor Posts: 1,888member
    It's nice that there are still some parts of Apple that aren't dysfunctional. 

    These guys -- along with the SOC designers -- continue to fire on all cylinders. 
    randominternetperson
  • Reply 3 of 16
    I am curious if Swift is as big of a deal as Apple suggests...can anyone with experience and knowledge of the programming world comment?
  • Reply 4 of 16
    blastdoorblastdoor Posts: 1,888member
    I am curious if Swift is as big of a deal as Apple suggests...can anyone with experience and knowledge of the programming world comment?
    In terms of popularity, it's in the top 20 and moving up:

    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.  


    jSnively
  • Reply 5 of 16

    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).

    jony0
  • Reply 6 of 16
    melgrossmelgross Posts: 31,335member
    I am curious if Swift is as big of a deal as Apple suggests...can anyone with experience and knowledge of the programming world comment?
    I can link you to a lot of places that have articles on Swift. Here's one.

    http://www.infoworld.com/article/3088305/application-development/server-side-developers-take-a-shine-to-swift.html
  • Reply 7 of 16
    crowleycrowley Posts: 5,645member
    Ugh, I thought it had mostly settled with Swift 3 and all changes in the near future would be additive.  Hope Swift 4 doesn't upend too much.
    randominternetperson
  • Reply 8 of 16

    crowley said:
    Ugh, I thought it had mostly settled with Swift 3 and all changes in the near future would be additive.  Hope Swift 4 doesn't upend too much.
    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...

  • Reply 9 of 16
    I am curious if Swift is as big of a deal as Apple suggests...can anyone with experience and knowledge of the programming world comment?
    My perspective (as someone who programmed 15 years, then stopped for 15 years, and then re-started last year in order to learn Swift):
    • 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:
        - 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.
    Short answer:  It's easy to learn for newbies, and powerful.
    edited December 2016
  • Reply 10 of 16

    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.

    edited December 2016 slprescott
  • Reply 11 of 16
    volcanvolcan Posts: 1,763member

    It should be noted that you can execute JavaScript code directly within a Swift program.

    No surprise here because if you couldn't execute JavaScript inside of Swift, it wouldn't be a very suitable replacement for Obj-C would it? That functionality has been available for quite awhile in Obj-C through the JavaScriptCore framework.
    asdasd
  • Reply 12 of 16

    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.

    IBM commits to it for enterprise coding.
  • Reply 13 of 16
    asdasdasdasd Posts: 5,202member
    volcan said:

    It should be noted that you can execute JavaScript code directly within a Swift program.

    No surprise here because if you couldn't execute JavaScript inside of Swift, it wouldn't be a very suitable replacement for Obj-C would it? That functionality has been available for quite awhile in Obj-C through the JavaScriptCore framework.
    yeh, of course. 
  • Reply 14 of 16
    asdasdasdasd Posts: 5,202member

    I am curious if Swift is as big of a deal as Apple suggests...can anyone with experience and knowledge of the programming world comment?
    My perspective (as someone who programmed 15 years, then stopped for 15 years, and then re-started last year in order to learn Swift):
    • 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:
        - 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.
    Short answer:  It's easy to learn for newbies, and powerful.
    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. 


  • Reply 15 of 16
    asdasd said:
    volcan said:

    It should be noted that you can execute JavaScript code directly within a Swift program.

    No surprise here because if you couldn't execute JavaScript inside of Swift, it wouldn't be a very suitable replacement for Obj-C would it? That functionality has been available for quite awhile in Obj-C through the JavaScriptCore framework.
    yeh, of course. 

    This article is about Swift, so it didn't seem appropriate to digress into Obj-C.

    jSnively
  • Reply 16 of 16
    asdasd said:

    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. 

    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:
    1. Apple plans to reimplement these Apple frameworks in Swift
    2. offer them as open-source

    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!

    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. 

    It's possible that a lot of the difficulty and frustration (mine, included) comes from the
    1. rapid evolution of Swift from Swift 0 - Swift 3 with all the dot releases
    2. proliferation of early tutorials and sample code that don't compile on the current version
    3. lack of current Swift documentation in some areas
    4. imprecise Swift Xcode completion, error messages and inline documentation
    5. lack of current Swift training courses

    These problems should be resolved as the [current] Swift 3 implementation stabilizes and comes into more common use.

    Consider:
    • The Swift migration tool in Xcode does a pretty good job
    • Swift Xcode completion, error messages and inline documentation seems to improve with each release of Xcode
    • many sites like StackOverflow are including [current]  Swift 3 examples
    edited December 2016 asdasd
Sign In or Register to comment.