← Back to context

Comment by al2o3cr

3 years ago

    How in the world can this number of dependencies be considered
    sane and normal, and most of all, necessary?

Wait until you find out how many parts are inside an internal combustion engine.

Or even just a house or bridge. Completely trivial-seeming things are just very complex.

  • The javascript ecosystem is unnecessarily complex. What would be a single library in any other language (including javascript, prior to NPM) is hundreds of separate single-line modules in JS, each likely with its own bespoke testing framework and toolchain. You have a package to test if a number is even that depends on a package to test if a number is odd that depends on a package to test if a number is an integer that depends on a package to test if a number is a number. And there's probably a whole-ass C compiler in there somewhere because why not?

    Whereas any other developer in any other language will just use a modulus and call it a day.

    Comparing that to the complexity inherent to an internal combustion engine or a house or a bridge is an insult to engineering.

    • > You have a package to test if a number is even that depends on a package to test if a number is odd that depends on a package to test if a number is an integer that depends on a package to test if a number is a number.

      LOL, perfect summary of the SOTA npm ecosystem.

      1 reply →

    • That makes for a great caricature, but React does not depend on `is-even`. As for the small modules, this is just the Unix philosophy lived out, "do one thing well," which is ironically what a lot of hardcore systems people used to preach.

      5 replies →

Not the greatest analogy I've ever come across.

Take a bicycle instead, and watch in awe how simple it is designed, yet how far it gets you ...

  • A bike still contains many complex parts and if you start taking into account what’s needed to build it, it becomes very extensive and rely on a long supply chain.

    • Even if you reduced it to only the minimum parts necessary for it to function as a bicycle?

      Because my point was about what's necessary, not fancy add-ons.