4 ms·
So basically, rely on about 5% of JavaScript (my copy of JavaScript: The Good Parts is looking slimmer every day) and hope that everything you’re either directl
by inopinatus 6y ago
So basically, rely on about 5% of JavaScript (my copy of JavaScript: The Good Parts is looking slimmer every day) and hope that everything you’re either directly or transitively exposed to has exactly the same standards you do and will continue to do so in perpetuity, and/or build tons of additional scaffolding to try to sandbox violators, because that has always been such a sure fire path to secure code.
The language, and it’s ecosystem, is a baroque Gormenghast of curiosities built on an ancient sewer where nightmare beasts still roam, and you’ll never stop it stinking just by holing up in the throne room and hoping a few trusted paladins will decontaminate the rest.
- cgh 6y agoAn excellent comment that merits upvotes based on the Gormenghast reference alone.
- markholmes 6y agoSo what’s the best way out?
- inopinatus 6y agoNew languages, new paradigms at the foundations. We keep throwing new shit at the wall, eventually something sticks. To a whole generation of developers it might like like JavaScript is the One True Web Programming Language but anyone whose lived through a few transitions knows that we replace entrenched technologies on the scale of decades, it has come and it will go like everything else, sic transit gloria lingua. The usual (but not universal) trigger is a technological arms race between three or more competing firms attached to a compelling new idea.
- alquemist 6y agoNot sure how a new language can help with an ecosystem problem. In the old days, people write your own code and relied on a vendor provided standard lib, for example C++ stdlib, Java platform or Python's batteries included. Since software is expensive, to save time and money people started to rely on 3rd party libraries, conveniently delivered by package repositories, for example CPAN, PyPI or npm. A new language will be subject to the exact same cost and delivery deadline pressures. If anything, newer languages tend to have ecosystems even more dependent of 3rd party modules. The PL problem is largely solved, the ecosystem problem is not.
- inopinatus 6y agoI think the fragmented chaos of the JS ecosystem arises as much from the structure of the language as it does the dismal standard library. That said, I don't buy that language vendors skimp on their standard library due to some marginal cost issue. Quite the opposite, commercial PLs like Go, Kotlin, Swift and the .NET CLI family come with extensive and often surprisingly well-considered standard libraries, and even open-source projects do better than JS (the standout being probably Elixir since it inherits Erlang/OTP). The idea that JS's ecosystem is the template for future languages seems unsound, which is thankfully a relief since it would also be so disheartening.
- cxr 6y ago> chaos of the JS ecosystem arises as much from the structure of the language as it does[...] Not really. It arises from Sturgeon's law and the matter of accessibility/popularity. The problems of "the JS ecosystem" (correctly stated: the problems with the NPM and its community) are the same problems that plagued Java 15 years ago. (On the other hand, Java at least attempted in its design to enforce good practices at the language level instead of giving everyone an empty canvas, which in the JS world has been considered to be an endorsement that one can and should go absolutely nuts.) Related: http://mnielsen.github.io/notes/engelbart/engelbart.html#slide-20 http://mnielsen.github.io/notes/engelbart/engelbart.html#sli...
- inopinatus 6y agoSturgeon's law is universal, and it doesn't explain differences in the distribution of the crap. > Java at least attempted in its design to enforce good practices at the language level instead of giving everyone an empty canvas I put it to you that this is recognising that the structure of the language is significant in the emergent behaviours and consequences. > problems with the NPM and its community I think it is scoped much more broadly. The major browser vendors are all horrendously self-serving, for example.
- cxr 6y ago
- deleted 6y ago[deleted]