255
What are some examples of xkcd 2347?
(xkcd.com)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
Node frameworks are famous for this purely because of a lack of standard library. I feel like most languages have a standard library that balance being generic but still providing utilities of common used stuff. So a company that doesn’t want to rely on a random guy’s library can build their own with only the features they want. But with Node, any complicated feature is using a tree of hundreds of random packages that you have no idea who created them.
I believe the nodejs fiasco is what prompted this comic?https://www.google.com/amp/s/www.theregister.com/AMP/2016/03/23/npm_left_pad_chaos/
AMP-free url: https://www.theregister.com/2016/03/23/npm_left_pad_chaos/
Another example is a large number of libraries using an external dependency to check if a number is odd.
I believe it was the OpenSSL-security scandal, iirc.
It's possible leftpad was an example Randall was thinking of, but the date of the comic is Aug 17, 2020, more than 4 years after leftpad.
https://www.explainxkcd.com/wiki/index.php/2347:_Dependency
Someone ought to write a Node.js fork that includes native implementations of popular modules that are unlikely to need maintenance like isodd. Then come with a custom version of NPM that refuse to install the packages.
Deno basically did this by including a standard library that removes the need for the most popular modules. It's the best js/ts experience I've ever had.
I just checked it and seems nice! Also seems to have been well received by the community.