I think languages that take C++ interop seriously will win over the long term. And that means I'm saying Swift is a better bet than Rust long term. So yeah.
How so? Maybe 5 years ago that would be the case but they've been steadily making it cross platform and it's a great choice now for CLI's, servers, embedded etc.
OK, so lets go read about some basic stuff I'd want to do in Swift, I want to open some files, I guess that'll be part of the standard library
"Documentation for the standard library is presently hosted on the Apple Developer website"
That's not a great sign but sure this "cross platform" software is "presently" on the company website of the obvious real owner maybe that'll get fixed in the next ten or fifty years, I'm sure it won't affect the actual documentation right?
OK, so the feature I need works on tvOS 14.0 and watchOS 7.0 - but what about Windows? That's not mentioned because this is an Apple website and so it only documents Apple products.
Case closed.
As with Go, basically every other system is just a thin attempt to emulate the system they actually want you to use and where that's impossible too bad. If you're an Apple-first developer this is probably fine. What do you mean Windows doesn't have the user-group-other permission model? Just fudge it.
Yes there are more mature choices now, but Apple is serious about making Swift a c++ replacement and if they do that well, it actually has a chance of being a One Language To Rule Them All. Rust is too low level for people to use for Applications, servers etc, which is where Swift shines, and Apple is proving that Swift is viable as a systems language too.
I agree with all of that, I just don't believe it will matter outside Apple's ecosystem.
Developers on Apple ecosystem are the ones that would be using Swift like that, as it also provides a good to share code between apps and server side code.
Most likely Apple will also be the only one writing firmware or OS drivers in Swift, that is where Embedded Swift project started.
This has been recognised as the next important milestone for Rust and there's work towards making it happen. The details are uncertain yet, because move constructors are a big change for Rust (it promised that address of owned objects is meaningless, and they can be simply memcpy'd to a new address).
The Rust folks want a more usable Pin<> facility for reasons independent of C++ support (it matters for the async ecosystem) and Pin allows objects to keep their addresses once pinned.
Uhhhh no. Maybe if you only run on macOS then I guess? But as someone who ships on Windows, Android, Linux, and macOS (in that order) the probability of me adopting Swift for literally anything is… less than zero?