Over the years, I’ve dabbled with a lot of different hardware and software combinations, to name a few: Own Forth implementations, GNU Ada of different vintages, C++ from ancient CFront 3.0 to C++23, OCaml 4, Zig, Rust, Go, Node/JavaScript/TypeScript and of course C - many of these on STM32, AVR, MSP430 and desktop systems.
One of my conclusions on this is that when implementing systems for longer term use, the churn of the underlying technologies is starting to get very frustrating. Some examples:
Three programming languages stand out though:
So maybe the way to build systems which need to be maintained for more than just a couple of years is to stick to one of the three above? The safest bet would be Forth, if a host/target combination is missing, just write it yourself :) Janus has the p3212 VM target, which is written in Rust, but moving that to C would be trivial.