Key takeaways about Swift 3 and what to hope for from Swift 4
The Swift 3 release is just around the corner, but we already have a glimpse into Swift 4 thanks to Apple’s Chris Lattner, who wrote some observations about Swift 3 in a note to the Swift mailing list and offered a sneak peek into Swift 4.
Apple has a busy schedule this Fall; iOS 10, macOS Sierra and the final version of Swift 3.0 will all be revealed in the near future. Chris Lattner, a senior director of the Developer Tools Department at Apple, posted a note to the Swift mailing list in which he made some observations about Swift 3 and offered a sneak peek into what’s going to happen in Swift 4.
Swift 3 — Observations and retrospective
Lattner revealed in the note that Swift’s development is in a continuous change and each year has been different from the previous one — “and I expect Swift 4 to continue this trend,” he added. What Swift 3 has taught him is that there are also challenges to open source, mostly because “‘open design’ is slower and less predictable than ‘closed design’.” Still, Lattner concluded that “the end result is better,” which means that “the tradeoff is worth it.”
The senior director of the Developer Tools Department at Apple also revealed that software scheduling continues to be “difficult-to-impossible to predict,” especially when it comes to open source. As an example, he said that there were a lot of goals set for Swift 3 that “had to be trimmed back later.” Therefore, Lattner emphasized the importance of making people understand that “goals” are not “promises.”
Other takeaways included the fact that “the community benefits from keeping focus on a limited number of topics” and that “having clear goals is liberating.”
Swift 4 — What to expect
According to Lattner’s note, the main goals for Swift 4 are “to deliver on the promise of source stability from 3.0 on, and to provide ABI stability for the standard library.” Therefore, the team will be taking a two-stage approach the the next year.
In stage 1, the development team will “focus on the essentials required for Source and ABI stability, and keep reasonably strict focus on only that work” —this means that features which do not radically “change the ABI of existing language features or imply an ABI-breaking change to the standard library will not be considered in this stage.” ABI details, resilience and source stability features are among the goals for stage 1.
In stage 2, the team will scope and plan other large features depending on how much time they have left. Because it is virtually impossible to know now how the stage 2 timeframe will look like, Lattner revealed that the “laundry list of commonly requested features” includes generics improvements, .swiftmodule stability, property behaviors, new scripting features and more. “One specific thing to keep in mind is that Swift 3 isn’t done yet,” Lattner concluded.
The Swift team plans to ship Swift 3.x in Spring 2017 and Swift 4 in Fall 2017. There will also be some minor releases.