4 ms·
> Adopt language epochs so that the language syntax and semantics can be evolved without having to fight backwards compatibility. That's what Javascript got su
by dmitriid 4y ago
> Adopt language epochs so that the language syntax and semantics can be evolved without having to fight backwards compatibility.
That's what Javascript got surprisingly right IMO: you can target the latest bleeding edge features, and still be able to compile and run them on 20-year-old browsers through code re-writing (aka transpilation) and polyfills [1]
I often wish this was available for other languages, too.
[1] Well, not all features because some if them are notoriously hard to polyfill (IIRC Proxies are one such unpolyfillable feature). And there's the huge issue of the entire world relying on just one guy: https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md https://github.com/zloirock/core-js/blob/master/docs/2023-02...
- hulitu 4y ago> you can target the latest bleeding edge features, and still be able to compile and run them on 20-year-old browsers through code re-writing The problem with C++ is the other way: you can't compile 10 year old code because the language has "evolved".