4 ms·
There's quite a lot, I'm afraid. For example, the precision of sin/cos (this led to bugs on real websites), the precision of random numbers (this led to a bunch
by azakai 11y ago
There's quite a lot, I'm afraid. For example, the precision of sin/cos (this led to bugs on real websites), the precision of random numbers (this led to a bunch of recent blogposts).
And there are also non-semantic differences that end up being important, like one browser running certain things too slowly or taking too much memory.
Multiple implementations is always more complicated ;) But in many cases it's better than a monoculture, in my opinion.
- kibwen 11y agoOh I'm not arguing in favor of a monoculture. But the OP's statement that "This would make it possible to leverage the C compilers that already exist for every platform out there" is naive because C's deliberate flexibility makes cross-platform and cross-compiler codegen fiendishly persnickety. Meanwhile, the only thing that you gain from all this extra effort is the ability to target platforms that GCC and LLVM don't already support, but these platforms are all likely to be obscure resource-constrained devices, and I just can't see developers on these platforms flocking to such a thoroughly-dynamic language as the OP is envisioning.
- azakai 11y agoYes, the corner cases are quite bad. But still, C code can be remarkably portable. Back in the older days, using autoconf you could run - well written&portable - C code on a very wide variety of OSes and architectures. Since then both OSes and architectures have consolidated, so it's less noticeable I suppose. But yes, I agree that in the context of a really dynamic language, it might not be what the author wants anyhow.