3 ms·
We aren’t in a phase where languages have multiple implementations right now. I can’t think of any well-known newish language (created in the last 10 years, sa
by iainmerrick 8y ago
We aren’t in a phase where languages have multiple implementations right now.
I can’t think of any well-known newish language (created in the last 10 years, say) with multiple implementations. Rust, Kotlin, Swift, Julia, Dart... any others?
Go might be a counterexample with its cgo implementation, but that was built by the same team and I have the impression (maybe mistaken) that it’s fallen by the wayside.
I don’t know if this indicates a really new language development style, with less emphasis on specification, or if it’s just a cyclic thing and some of these new languages will gain more implementations as they get more established.
- kupiakos 8y agoPython has PyPy?
- iainmerrick 8y agoPython isn’t new! It’s almost 30 years old.
- kupiakos 8y agoI was about to suggest Python 3, but it seems Python 3.0 released December 3, 2008. Barely missed it!
- heinrich5991 8y agohttps://github.com/thepowersgang/mrustc https://github.com/thepowersgang/mrustc is an alternative compiler for Rust.
- iainmerrick 8y agoCool! Looks like that’s not quite ready for prime time, but I hope it succeeds.
- coldtea 8y agoYeah, but no language of the ones the parent mentioned has a non-toy, non-personal-project alternative compiler. Perhaps only Golang (go and go-gcc). For all others, everybody uses the standard compiler. Even in Python, PyPy is not even 10% of the users. Whereas in C/C++ and other such older languages there are several implementation (MS, GCC, LLVM, Borland, Intel) with strong uptake and strong communities/companies behind them.
- nicoburns 8y agoJavaScript isn't quite as new as those listed, but it has at least 5 or 6 implementations.
- coldtea 8y agoYeah, JS too.
- sacado2 8y agoYes, go has a formal specification, which not only opens the possibility for alternative implementations, but, more importantly, allows for the development of tools like linters. It's way harder to develop tooling for a language which is only defined as "what its compiler can compile".
- skocznymroczny 8y agoWhile older than 10 years, it still kind of falls under newish, but D has three compilers.