Google will contribute changes to Apple's Swift programming language, and will support the language in the Fuchsia OS, a presumed replacement for Android, ChromeOS, etc. that is designed to work on all devices:
Fuchsia is Google's not-at-all-but-kind-of-secret operating system that's being developed in the open, but with almost zero official messaging about what it's for, or what it's built to replace. (Android? Chrome OS? Both? Neither?) The operating system's core is written in mostly C and C++, with Dart for the default "Flutter" UI, but other languages like Go, Rust, Python, and now Swift have also found a home in the project.
Of course, just because you'll be able to compile Swift to run on Fuchsia doesn't mean you'll be able to instantly port any iOS app to Google's new OS when or if it ships. While Apple has open sourced the Swift language itself, much of the iOS platform (like the UI stuff, for instance) is closed source, so code that relies on those closed Apple libraries won't be portable.
One possible future in a world where Fuchsia is an important and relevant platform for apps is that you write the "core logic" of your app in your language of choice — Swift, Go, Rust, JavaScript, etc. — and then you build a custom UI for each platform — Android, iOS, Fuchsia, Linux, Windows, the web — using the appropriate tools for each.
Also at Android Police.
Previously: Google's New Non-Linux OS: Fuchsia
Google's Not-So-Secret New OS
Google Fuchsia UI Previewed
(Score: 2) by Wootery on Saturday December 02 2017, @12:21PM
Funny how comments as misguided as yours are always submitted as AC...
You seem to be using the word 'modern' to mean 'something I like the sound of'.
Anyway, when it comes to the garbage collection question, modern languages generally pick a side and commit to it, and for good reason: going half-way just confuses things.
C++ uses RAII extensively, to the point that it doesn't make a lot of sense for them to get serious about supporting GC.
D supports mixed-mode, but I couldn't name another language that does.
No, it isn't. C++ supports pointer-arithmetic. It lets you do XOR linked lists, for instance, but means you'd better be careful if you want to use it with garbage collection, or the GC will collect still-live objects.
Almost as disastrously, C++ semantics mean you can't use a garbage collection algorithm that relocates objects, something that all modern GC algorithms do.