Comment by kace91

Comment by kace91 5 days ago

9 replies

One factor is that node's philosophy is to have a very limited standard library and rely on community software for a ton of stuff.

That means that not only the average project has a ton of dependencies, but also any given dependency will in turn have a ton of dependencies as well. there’s multiplicative effects in play.

louiskottmann 5 days ago

This is my take as well. I've never come accross a JS project where the built-in datastructures were exclusively used.

One package for lists, one for sorting, and down the rabbit hole you go.

  • sensanaty 5 days ago

    I think this is mostly historical baggage unfortunately. Every codebase I've ever worked in there was a huge push to only use native ES6 functionality, like Sets, Maps, all the Iterable methods etc., but there was still a large chunk of files that were written before these were standardized and widely used, so you get mixes of Lodash and a bunch of other cursed shit.

    Refactoring these also isn't always trivial either, so it's a long journey to fully get rid of something like Lodash from an old project

  • silverwind 5 days ago

    This has improved recently. Packages like lodash were once popular but you can do most stuff with the standard library now. I think the only glaring exception is the lack of a deep equality function.

rhubarbtree 5 days ago

This is the main reason. Pythons ecosystem also has silly trends and package churn, and plenty of untrained developers. It’s the lack of a proper standard library. As bad a language as it may be, Java shows how to get this right.

  • palata 5 days ago

    > As bad a language as it may be, Java shows how to get this right.

    To be fair Java has improved a lot over the last few years. I really have the feeling that Java is getting better, while C++ is getting worse.

  • rhubarbtree a day ago

    Goddamnit: meant to write “node’s” not “pythons”. Human is hallucinating.

  • PhilipRoman 5 days ago

    What? Python's standard library seems far more extensive than Java's.

    • rhubarbtree a day ago

      A strange typo: should have written “node”. Kinda changed the intent of my comment. Oops.

    • yunwal 5 days ago

      Yeah if anything I'm used to the opposite complaint about python that there's too much included in the stdlib.