I don’t disagree with anything you said, but I want someone to build the software for a car in a language that lends itself to sane defaults and keeps you from shooting yourself in the foot. Yes, I recognize that’s a tall order and a pipe dream. Let me dream.
Long story short: programming languages interact with various bits of memory. One of the most common bugs, as an example, is a race condition; two threads or programs running simultaneously and accessing the same bit of memory. One changes it, but the other is unaware, and is now working with outdated or wrong data; they “race” to the memory and the one that gets there first wins. That leads to confusion, crashes, and bugs.
That is a “concurrency” bug, and there are ways to resolve it; various types of locks, semaphores, and other inter process communication / memory sharing techniques.
But in a memory-safe language, race conditions literally cannot happen. Your phone and your media literally could not “accidentally” start playing at the same time, because you couldn’t have forgotten to handle the memory access and lock it, because the language won’t let you.
None of that has anything to do with Android Automotive. AA is written in Java, which is dynamically typed (“is this an integer or a string? Meh, I’ll just let the compiler figure it out for me”) and not memory safe. Java sucks. Anyone that does you otherwise writes Java for a living and has Stockholm syndrome. (Don’t @ me lol)