It seems like he believes pervasive borrow checking is not the right approach for the average application developer, even if it is the right approach for systems programming. He also mentioned eventually having a mode that only uses borrow-checking without ARC, e.g. for writing firmware.
Rust originally had lofty goals to support compile-time lifetime proving and GC mode; GC was abandoned for sensible reasons. Swift uses ARC, so it is trying to support full-ARC, mixed mode, and compile-time lifetime. Whether that is achievable remains to be seen.
I was just trying to say that its design forces discussion of the ownership model to be very early on in the description of the language. It is typically in the first page/chapter of the tutorials I've seen.
This approach doesn't align well with Swift's approach of progressive disclosure of complexity.
Then use Swift. Other than the approach to memory, Swift is extremely similar to Rust.
> I wish swift scene on linux becomes viable in the next version.
Swift 3.0 is totally viable on Linux. And Swift package manager works great, although it's not quite as nice as Cargo (yet!). I've been very impressed with Swift on Linux, but I've yet to use it for production (although there are lots of folks who are). There are some very nice web frameworks for Linux in Swift. I'd say that for web, Swift on Linux is more advanced than Rust. Take a look at Perfect, Zewo, Kitura, etc. They've even got lots of authentication/authorization plugins, which last I checked no Rust framework had.
Here's an overview of how theoretical language features could enable library implementations of coroutines+channels, async/await, or actors:
https://github.com/apple/swift/blob/master/docs/proposals/Co...