This is one reason why I enjoyed using Java so much in the early days, even without JIT.
The differences between MSVC, LLVM, GCC are nothing to worry about, compared with the early days of C89 or C++ARM in the process of being standardized, coupled with different levels of POSIX support.
Not having to deal with differences between MSVC, LLVM, GCC and other obscure toolchains is a blessing.