> It would be neat to visualise which language/framework has the worst case of dependency hell
I've worked on very large projects in Ruby, Node.js, and Java. In my experience, Java programs tend to have the most dependencies, especially if you use Spring, but also the best tools for managing dependencies.
People like to rag on Maven, and there is a lot of truth to the criticisms, but I've had a much easier time resolving dependency problems with Maven than with other systems, and I find that it helps me avoid a lot of problems proactively. For example, you can exclude transitive dependencies from imports, if they will conflict with other versions you already have in your project. The result of this is that some of the Java projects I work on have 10x the number of dependencies as some of the Ruby projects, but far fewer dependency problems.
I see nothing wrong with having lots of dependencies, even on small projects, as long as you have the right tooling to manage them and can guarantee reproducible builds.
I think these graphs should have multiple colours: One for language built-ins and one for each third party origin. A deep graph isn't such a big deal, but I'd assume that a very colourful graph can be.
I've worked on very large projects in Ruby, Node.js, and Java. In my experience, Java programs tend to have the most dependencies, especially if you use Spring, but also the best tools for managing dependencies.
People like to rag on Maven, and there is a lot of truth to the criticisms, but I've had a much easier time resolving dependency problems with Maven than with other systems, and I find that it helps me avoid a lot of problems proactively. For example, you can exclude transitive dependencies from imports, if they will conflict with other versions you already have in your project. The result of this is that some of the Java projects I work on have 10x the number of dependencies as some of the Ruby projects, but far fewer dependency problems.
I see nothing wrong with having lots of dependencies, even on small projects, as long as you have the right tooling to manage them and can guarantee reproducible builds.