Apple is planning to add "first class" concurrency, including actors, async/await, atomicity, and memory model, in stage 2 of Swift 4's development, though Lattner concedes it will take more than a year to design and build these capabilities.
"Concurrency is the problem everyone is trying to solve today," Hillegass said. "Everyone has multiple cores on the their device, and nearly every app accesses the cloud. Languages like Go and Elixir have very compelling approaches to concurrency built into the language. If Swift is going to be an alternative, especially on the server, it needs to have good answers to the questions around concurrency. We are especially interested to see how the memory management model of Swift changes to better support a multithreaded environment."
In the scripting space, regular expressions and multiline string literals also are considered stage 2 for Swift 4. Other capabilities for stage 2 include property behaviors, providing "powerful" abstractions over the existing property model; submodules; implicit promotions between numeric types; importing of C++ APIs; guaranteed tail calls; user-defined attributes; better SIMD (Single Instruction Multiple Data); and data parallelism.
Sign up for Computerworld eNewsletters.