And still the decision on Rust reads very much like a "we'd love to extend the scope of the time is right" whereas the dismissal of Go is surprisingly brutal, almost reads as if there was a cold civil war going on between the two garbage collected Google languages and Fuchsia people feel need to to demonstrate loyalty to their Darters. Might even just mirror an equal dismissal regarding server side Dart.
That'd be my guess. Given the nature of Flutter and its co-development with Dart it's not surprising that Fuchsia prioritizes it. After all, you need to implement the UI in something. Meanwhile I have literally never heard of a UI implemented in Go, and outside of the UI I can see why they don't want to use garbage collected languages in their OS.
I expect it has the same issue as UI in Rust: UI is one of the domain where OO inheritance is most convenient and most deeply embedded. So langages which don’t do inheritance are hard sells.
Newer “declarative” UI frameworks less so but they’re probably not mature enough conceptually that you’d want to bet your OS’s core UI system on them, right now they’d be used as an overlay on the core stateful UI system (see bodil’s vgtk for example).
Being pretty conservative overall but betting the house on Dart for the UI seems like a strange combination of decisions to me.
If Johnny doesn't like JVM languages, or C++, all they get is a bare bones C API, which requires JNI even for opening files, asking for permissions and so forth.
You don’t get Flutter without Dart. Anyone that’s ever looked at what is behind any Flutter component can see the Dart code building it.
You literally can not bet on Flutter and not Dart. Don’t confuse Flutter as some DeclarativeUI of its own.
EDIT: How we that’s not to say the cart can’t lead the horse (good analogy). Flutter requirements are definitely driving changes in Dart Lang.
Flutter demonstrates Dart is a good choice; it gives you a successful declarative UI framework that effectively builds on Dart as a fairly straightforward upgrade of the most tried and true UI scripting language ever made: Javascript.
To answer the GP comment, betting the house on Dart for the UI doesn't seem like a strange or risky decision in that light.
Yea. Before using Flutter, I probably wouldn’t have agreed. After using, I can’t disagree at all.
It still seems incongruous that widespread usage is portrayed as an important criterion for Fuschia PLs, but they bet big on Flutter which forces them to adopt Dart, a language which has very little uptake outside Flutter.
Rust, on the other hand, is treading new ground with the unusual core concept of a borrow checker.
This seems like an exaggeration. Maybe Fuchsia will turn out to be important, maybe it won't. As of right now, it's another Google vanity project that makes them no money.
It could turn out to be enormously strategically important by allowing Google to drive a stake through the heart of Linux on consumer devices...or just as easily get killed tomorrow.