4 ms·
As best I can tell, C and C++ are the only languages where people are actually happy that there are multiple implementations.
by seoaeu 6y ago
As best I can tell, C and C++ are the only languages where people are actually happy that there are multiple implementations.
- dsfbjornjaja 6y agoHmmm what about CPython and PyPy?
- tonyarkles 6y agoAs a single data point, I’ve been using Python since 2005 and have never played with PyPy any beyond a quick peek after seeing a conference talk. 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)
- wongarsu 6y agoAlmost all Python code is written for CPython, and if you run into performance issues you tweak it until it runs on pypy. 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.
- dsfbjornjaja 6y agoStill—multiple implementation has an impact on the reference implementation.
- anp 6y agoI think Javascript has many user who think they benefit from competing implementations. I’m not sure the sentiment there seems as strong as in the C++ community, but it definitely exists.
- jokethrowaway 6y agoI'm more annoyed by the inconsistent implementations than anything else (Mostly browsers as server side still sees node being the winner). Not to mention the terrible tooling to make multiple deployment targets possible (webpack, polyfills and whatnot)
- pjmlp 6y agoCount Ada, D, Java and .NET as well.
- e3bc54b2 6y agoWhat about Java? As far as I know, everyone was very happy OpenJDK existed and Oracle eventually relented too. Now we have even more interesting stuff like Graal. Disclaimer : I'm still new and learning Java.
- iudqnolq 6y agoOpenJDK is the original version of Java with a few features stripped out, not a reimplementation. See the History section of https://en.wikipedia.org/wiki/OpenJDK?wprov=sfla1 https://en.wikipedia.org/wiki/OpenJDK?wprov=sfla1
- blacktriangle 6y agoMultiple implementations are great when there's a standard to compare them to, ideally where that standard is backed by a set of tests. 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.
- lenkite 6y agoJava also has multiple implementations. Great to have a documented language standard!