The problem is when you have multiple implementations of languages that are effectively defined by their reference implementation, then the alternatives are usually an exercise in frustration.
Not to mention the terrible tooling to make multiple deployment targets possible (webpack, polyfills and whatnot)
Disclaimer : I'm still new and learning Java.
See the History section of https://en.wikipedia.org/wiki/OpenJDK?wprov=sfla1
On the other hand, I use gcc, clang, and MSVC++ on a regular basis. But... I think the reason I care about multiple C++ compilers is mostly because there’s no “one compiler that is ergonomic to use everywhere” and I end up writing better code because of it (eg gcc warning about something clang doesn’t care about).
For Python, I mostly just care that it Just Works everywhere (modulo compiler setup for building C modules)
I'm glad that pypy exists because it forces cpython to do something about performance, but for python overall it's a pretty niche tool.
If that's important, why not pretend that your project is in "Clang C++" rather than C++? Clang compiles to at least all the platforms that Rust does.
> not to mention the whole mess around dependencies in C++ code
Agreed. I feel like the proliferation of header-only libraries is a sign that something's seriously wrong here.
Standards exist to make multiple implementations palatable.
See Python for a stunning example where they botched the standardization effort and ruined the language for good.
My opinion echoed by many top people in reverse engineering industry.
Modern C++ is obfuscated by default due to templates, inlined functions and of course OOP.
For example, Marcus Hutchins famously echoed Boost is a cluster fuck of sadness.
My point is not about obfuscation anyway but it does helps obfuscation to some extent. It's about reverse engineering the optimized code and recover the original non-optimized code which can have a lot of use-cases.
https://www.msreverseengineering.com had a course on this subject. Experienced ones can reverse everything but my point is that it increase the barrier.