"the question is why did C++ survive the Javapocalypse"...
I was thinking you can't run Java on AVR, but you can run C++ (Arduino..)
But here you go:
https://atmega32-avr.com/java-virtual-machine-for-the-atmel-...
Even so, this VM is written is C, with no JIT compiler on the 8K microcontroller, so C++ is much faster. Hmm.. now I'm wondering if GCJ could work with avr-gcc..