Why does the android team choose Rust instead of Go

2 points by m_gopher ↗ HN
I have read this article (https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html) from the android team that talks about migrating C/C++ to Java/Kotlin/Rust and I am wondering why Go is not used instead of Rust or Java or Kotlin especially since Google has Go and it can be configured in a way that suits it

3 comments

[ 3.7 ms ] story [ 19.0 ms ] thread
Go developed by google. Any time it can be canceled. So google can not rely on a google language. (Carbon dev team left the chat)
Android already has C/C++(NDK, bionic) and Java. Google is stuck with JVM based languages for Android apps because the ecosystem depends on it. There are millions of apps that are written in Java. So that is not going to go anywhere. So the best alternative they could find for Java was Kotlin. Now comes the question of C/C++, for that Go is not an alternative but Rust is. C, C++ and Rust are systems programming languages, Go is not. For performance critical path systems programming languages are used. Watch the start of this[0] discussion and you will soon realise how out of place Rob Pike felt, with regards to Go, when the topic of systems programming languages came up. In early days Go was touted as "systems programming language" with later clarification that what they really meant was "suitable for server-side programming". So Go is not a replacement for C and C++ as a systems programming language.

[0] https://m.youtube.com/watch?v=ZQR32nTVF_4

> since Google has Go and it can be configured in a way that suits it

So, it's important to remember that Google is a large company. The golang and Android teams are different people, with different goals.