Very few languages have "Some Language -> C" or "Some Language -> non-common OS / arch combo". The "just" part is a whole new backend, which is a massive amount of work for common languages.
But it turns out many languages do have "Some Language -> WASM" now.
WebAssembly brings portability to the table.
Did you read up on Cosmopolitan C Compiler when it was discussed here?
No, it's not exactly the same amount of portability as some language and its native toolchain. If you give me source code in some language that I can transpile to C or C++, or into WASM (and then into C), then I can give you a single file which can be executed on Linux, BSD, Mac, or Windows.
That's not remotely the same thing as "its native toolchain."
You, a developer or tech savvy person, might not see any difference.
But if I hand a non-tech-savvy person a file and they can just run it, no matter what OS they're using - with no pre-requisites - that's kind of magic.
> then I can give you a single file which can be executed on Linux, BSD, Mac, or Windows.
Using what libraries & syscalls? A portable IR and a portable executable are very different things, yet the WASM crowd loves to conflate them. WASM is only a portable IR, it doesn't get you portable programs at least not if you want your program to do anything beyond a trivial hello world.