Wrong. Type erasure for generics is one of Java's luckiest breaks. At worst, it imposes a tiny inconvenience, but in exchange this is what allowed Java not to bake a variance model into the VM and libraries, and this is precisely what allows languages with different variance models -- like Java, Kotlin and Clojure -- to both share code and actual data objects with no runtime conversions. This is something that can't happen on .NET (see, e.g. how clumsily their Python implementation interacts with generics). This was a huge win for almost no cost.
Exactly. The corollary is you demo a pretty UI with no backend and then have to watch the crushing disappointment when you say it can't be shipped tomorrow and you need another 6 months to build something behind it.
Ouch, yes. I have been on both sides of both situations, and it just underscores the true value of a good dev team, and management who understand the process, both internal and external. I would say the management is arguably more important than raw dev talent, as managing expectations is paramount to all other output in most business.
Cars already have CANBUS as a standard thing so it shouldn't be difficult.
I think the CarPlay/MirrorLink/Android Auto thing is probably a better model though. Make the console dumb and let me connect my upgraded-every-year phone that's far more powerful.
https://en.wikipedia.org/wiki/World_car