2 ms·
This could have been written about any language, even "serious" ones. Yes, JavaScript the language and ecosystem have many issues, some of which are fundamental
by lioeters 3y ago
This could have been written about any language, even "serious" ones. Yes, JavaScript the language and ecosystem have many issues, some of which are fundamental flaws. But the kind of nightmare the author experienced can happen in any project where you're pulling in dependencies, software that other people wrote.
Nothing can be 100% reliable and stable when your house is built from parts which other people are changing all the time. What helps: testing, locking to specific versions, reducing your dependencies. But that's not specific to JavaScript, that's pretty much the entire house of cards which we call software development.
Edit: Somewhere else I saw the phrase, "cultural problem". That describes the situation with JavaScript and the reason for the author's hellish journey debugging an issue introduced by indirectly updating an obscure dependency. But culture can be improved, and it has been evolving to be more serious about reliability.
Will we ever awake from the nightmare of history? I mean, JavaScript? No, it's part of our legacy now: as the article described, JavaScript code is running all over the globe, including enterprise-scale, important and serious things. We have to work from within the system to reform it. And probably gradually replace it with WASM, for better or worse.
- grujicd 3y agoWell "this.subset.encodeStream is not a function" can't really happen in a language with a robust type system. Or at least you would have to try really, really hard, to use reflection, or to somehow load a different version of library at runtime than on compile time. JS raises brittleness to whole other level.