Google,
for their upcoming Fuchsia operating system, it has reviewed several programming languages. A summary was posted as a markdown document on their google source Git. It outlines how C, C++, Dart, Rust, Go, and Python will (or
will not) be supported within the new OS.
This brings us to the languages.
C is allowed in both contexts, although it is discouraged in new
code except for low-level systems (ex: the kernel) and APIs that need long-term
binary compatibility. It is expected that you will ask permission to write new
code in C11.
C++, on the other hand, is allowed everywhere. It is supported
by end-developers and the Fuchsia Platform Source Tree, and it can be used for
any type of code. Fuchsia targets C++11, C++14, and C++17.
Interestingly, Google’s languages, Dart and Go, have some strong
restrictions. Go is basically banned every except for net stack, which is
allowed because it is an existing project that is not worthwhile to rewrite.
Everything else is expected to be rewritten in some other language. Dart, on
the other hand is allowed for code that is not performance critical (ie:
drivers or long-running core applications).
In terms of Python: No. (I mean… tools yes, but otherwise no.)
Last up is Mozilla’s Rust. This one is interesting for reasons
alluded to at the end of the second paragraph. Google is interested in the
language within the Fuchsia Platform Source Tree, but they do not want to
support it from end-developers or directly in the kernel. It is too new for
them to be confident in supporting it in an official SDK or in very low-level
code – at least for now.
We still don’t know what Fuchsia will become, so we don’t know
what will make sense in the future? For example, will Google allow third-party
SDKs on their platform? Whether it even makes sense depends on whether Google
will push it as an Android, as a Windows, or as a ChromeOS. If it’s big and
open, then it would make sense that third-party platforms support their own
languages, like .NET (ex: C#) or Rust, for end-user applications.
Post A Comment:
0 comments: