Monday, 14 October 2024
There was a bit of Fediverse drama last week when TC39 added a discussion to their agenda.
The proposal from Google was to split the standard into: JS0, the language implemented by engines, and JSSugar, an extended syntax that tools like WebPack will compile to JS0.
They argue that new features are placing a performance and security burden on JS engines, which puts the implementors at odds with JavaScript developers - who are demanding new syntactic sugar (apparently). By splitting the standard, Google hope that JSSugar could continue to evolve quickly while JS0 grows more gradually.
I too want engines to focus on security, performance, and capabilities that cannot be de-sugared (and so are impossible today). But, please, don't grant official status to the current crop of JavaScript tooling.
This is a proposal calling for more tooling participation in TC39 and more standards compliance among tools.
Many JavaScript developers, myself included, would like to rely less on these tools. There are a huge number of use-cases that - with ES modules and HTTP3 - could be built without pre-compilation. JavaScript might finally be accessible to newcomers and fun once more!
No evidence suggesting tooling use would decrease in future
I imagine if you work at Google, that is true. But I suspect most developers are not professionals working at a tech giant but hobbyists doing their best in a confounding ecosystem of tooling. If we give up on shipping their simple code directly to a browser, what hope have they of putting down those tools in future?