Which is pretty much my point (check namespace and commit log of both).
Ownership and concurrency sound like great refinements to Swift to me. Really looking forward to Swift 6!
This announcement is extremely exciting, thanks @tkremenek. This direction feels very inspired by what the community wants and needs right now and I think that's fantastic.
Really exiting news. However can we assume that Swift 6 won‘t focus towards pushing generics features to their limits? The generics manifesto still has a plenty features open + generics UI pitched by Joe Groff. Personally as a daily Swift user I‘d be more interested in these features first before conquering other fields.
Thanks for this update! It's exciting to see the progress Swift is making on other platforms (especially on the server and Linux).
@tkremenek I'm wondering if you can elaborate on this goal – could this include something like officially supporting Swift on ARM Linux?
Yes, the Core Team would like to see how the ports that various members of the community have been working on can be more officially supported. Ideally, a person can go to Swift.org and at least see that Swift is supported on a specific platform, and they have the documentation they need to get going and be productive.
For me Swift 5 has really shown just how well the language and tooling is maturing. Really the only things I feel that Swift is still lacking are async/await and support for non-apple platform such as Windows, Android, and WASM. I’m so excited that the core team is making these points a main focus. Can’t wait for Swift 6!
Thanks @tkremenek, this sets out a fantastic path for the future of Swift. The goals seem very well chosen and @tomerd & @compnerd are great Core Team additions to help achieve those goals. Congrats both!
I suspect that Swift 6 will not push generics features "to their limits", but I do suspect that some work in this area will be prioritized especially where there is a compelling need that will empower users to write better APIs. For example, I mentioned variadic generics in my post.
I also would not interpret what I wrote above as an exhaustive list. I intentionally left some of the bullets open-ended. Specific investments will become more clear over time. I was mostly trying to touch on some key themes that touch on areas where Swift would benefit the most from investment.
Thank you for your honest answer. I haven‘t missed the mention about variadic generics (which likely have its origin from Combine and SwiftUI) and I understand that some of the unimplemented features are massive and would require a lot of time and effort to become reality. I was only wondering if generics won‘t be one of the official focus areas of Swift 6. ;)
Great news. Congratulations to both new member of Swift core team.
Talking about machine learning, I hope the Swift core team would like to give a little bit more attention to the Swift for TensorFlow team. They have some ideas that could be considered to be part of Swift language feature regarding machine learning. For example, differentiable programming.
How about Apple's Combine and SwiftUI frameworks? Is it possible to make them work on other platforms as well?
I sent this post out in October that touched on this:
That was on behalf of the Core Team expressing support to pull that feature in the language through the normal evolution process.
That's up to Apple management, not the Swift Core Team, per se.
Excited to see so many goodies coming in the future. The new diagnostic is the blast! Great DSL is a blessing. Any chance Higher Kinded Types making its way to the list? Whenever we force to use AnyView or any other type erasure it feels like it is not what we want to do, but what we forced to do because of no HKT in place. We should give engineers all the tools to keep types expressive so the compiler will have all the data to deliver so much needed optimizations for Combine, SwiftUI and other things alike. It is clear from already made type decisions that this is chosen direction but the absence of HKTs leaves a huge hole in this strategy.
This. Resorting to the Any* erasure types feels wrong. This should be fixed.
What would higher-kinded types enable you to do in SwiftUI?
Great to hear folks, Async Await would be a god send just sayin
This is all very exciting! I think expanding the list of officially supported platforms and focusing on evolving the language to enable services will help adoption incredibly. The additions to the core team help show the serious interest for investing in those areas which is exciting!
Can you expand on this at all? Does this refer to additional libraries sponsored by Apple, like Swift Numerics? If not, what changes, in particular, does this entail? Something more than the additional working groups mentioned?
It saddens me that an official and integrated package registry still isn't in the plans. I can think of nothing more important to "cultivate a rich open source library ecosystem".
Again, is there anything here you can go into more detail on? I think many of are aware of ongoing projects like the new diagnostic system due to the blog post, but I haven't seen anything recent on the other areas. Are these new projects, or references to ongoing ones?
Is there anything more concrete you can share about the cadence or intended size of these releases?
Major Swift releases are time-based, happening roughly twice a year. What constitutes a "major" release is one that is based on continuous development on trunk, or
master. Examples of major Swift releases include Swift 4.0, 4.1, 4.2, 5.0, 5.1, 5.2, etc.
While Swift releases are time-based, feature work can (and often) spans multiple releases. When we consider efforts that are longer-term arcs usually there is incremental progress along those arcs in each successive major Swift release. For example, while ABI stability "went live" in Swift 5.0, the work went into that spanned multiple releases. Similarly, some pieces of the ownership model have already fallen in place in stages with the gradually ramping up of enforcement of exclusive access to memory.
When Swift 6 is released it will be a culmination of several longer-arc efforts, but I expect that all of them will have pieces stage in over the intermediate releases.
I hope that answers your question on the size and cadence of the releases. This exactly matches how Swift has been developed since it was released.