I just meant if you want to start the baby-steps getting folks moving in the right direction you don't have to dust off Modula-2 (which nostalgia notwithstanding is showing every bit of it's age)[1]. Ada doesn't have much dust on it and has a solid, free compiler and some pretty nifty software support (e.g. AWS). Oh, sure, the ecosystem (e.g. contemporary libraries, IDE support, tutorials) needs improvement, but that's just a matter of getting more programmers interested.
[1] I haven't looked at any of the contemporary Modula-2-ish efforts (e.g. GNU M2, M2R10, M3) recently and maybe things have changed, but they were all moribund or glacial labors of love from a single or tiny team of developers.
"but that's just a matter of getting more programmers interested."
Won't happen: they hate Ada as much as LISP. More given Clojure is going mainstream but Ada still isn't. So, if I want to use it, I have to deliver the result in their language or build killer app that hooks them onto Ada. The first is easier to do most of the time. Adacore even acquired a company that specialized in deploying Ada apps as either C or C++. So, it's a proven model which could be applied to a simpler language (eg Modula-2) for bootloaders, etc.
That said, I will reiterate that it's clear that based on the several recent attempts, un-zombie-fying Modula-2 isn't trivial. Perhaps the answer is to grab one of these projects (or Modula-3) and throw the effort into "you're not going to be the next Webdev language, but lets beat this low-level systems niche into our world". Maybe start by writing a bulletproof bootloader or something. Or some security sensitive network plumbing. Can't do any worse than the Rust/Go guys are doing, with the bonus that Modula-[23] have actually been used to build real bare metal systems.
I dunno...maybe I just need another scotch.
FWIW...every time I've been in a "Forth could do this, but forth makes me want to dig my eyeballs out with spoons, what is the alternative?" scenario, I reached for C, and haven't really been all that disappointed. I know that makes me a bad person.
So, there's some options on that. Far as Forth vs C, I think it's fine to think C is acceptable for firmware as being a near-cross-platform assembly suddenly helps there. I'd have made C default for this given all developers, tools, and code examples available. And then we'd have this discussion to figure out how to get rid of it.
On other hand, doing almost everything system in C then switching to Forth for just firmware? That's worse than doing everything in C. You're a better person for sparing the maintainers from that crap. ;)