| ▲ | tsimionescu 3 hours ago | |
I don't think it's just that, though I agree they are clearly correlated. The reason I don't think it's a sufficient explanation is that there is a clear history of large, 3rd party libraries being created exactly to supplement poor standard libraries. C++ has Boost, Java has Apache Commons (though Java also has a pretty huge standard library), arguably we could even say C has Posix/Win32/Cocoa. I believe there is some deeper cultural reason why certain language ecosystems coalesce large utility libraries, while others prefer myriad tiny dependencies. | ||
| ▲ | whstl 3 hours ago | parent | next [-] | |
The important difference IMO is in the small vs big libraries culture. Lots of languages have a bad stdlib but don’t fall into the trap of having thousands of micro libraries. The reason people do it is because it brings clout and money. Just look for articles defending micro libs: the popular ones are by people who make a living on donations, due to maintaining 1000+ packages. And collaborating in larger libs/stdlib is hard. Plus: Rust, Node, all have a lot of visibility. You need a good stdlib culture to avoid it (like Go did). | ||
| ▲ | DanielHB 3 hours ago | parent | prev [-] | |
The reason is simple: the package manager works well. Helps if the package manager is standardized and there is a "default" registry for open source projects. I remember the days where I had to manually put the Spring .jar files into my project. No way I am doing that for 100s of dependencies. | ||