3 ms·
I think you're conflating the problem of too many direct dependencies with that of too many transitive dependencies. We go about the rest of our lives using ab
by yazaddaruvala 5y ago
I think you're conflating the problem of too many direct dependencies with that of too many transitive dependencies.
We go about the rest of our lives using abstractions through interfaces. Those abstractions use abstractions. e.g. To build and use a pencil there are hundreds or even thousands of transitive dependencies. From the wood and graphite to the rubber and metal, each of the inputs like axes to cut wood or to create those other components, and so on.
With software we just do a better job tracking the “lineage” of these transitive dependencies, so the numbers seem large.
The real problem seems to be the ergonomics of all the direct dependencies. The number of transitive dependencies wouldn’t matter if the direct dependencies were in aggregate ergonomic to work with.
- xg15 5y agoTransitive dependencies absolutely do matter. Even in the "real world" overly complex and distributed supply chains are a source of problems - and much the same problems as sprawling dependency trees: They are the cause of unnecessary environmental pollution (by shipping components around the world for purely financial or organisational reasons), they decrease transparency (because it's difficult to understand what kind of companies at the very end of the supply chains actually produce your parts) and they introduce risk of failure. As with software abstractions, those are problems that are easy to ignore by the designers of the end product, until they hit. We're getting more aware of those risks by now, thanks to COVID and geopolitical tensions putting stress on supply chains. As a dev, it's important to remember that abstractions are a tool, not a mechanism for responsibility washing. When you develop a product, you're responsible for all code of it, not just the parts you wrote yourself.
- throw_m239339 5y ago> Even in the "real world" overly complex and distributed supply chains are a source of problems - and much the same problems as sprawling dependency trees: They are the cause of unnecessary environmental pollution (by shipping components around the world for purely financial or organisational reasons), they decrease transparency (because it's difficult to understand what kind of companies at the very end of the supply chains actually produce your parts) and they introduce risk of failure. Such as pertinent real world parallel. Although, it seems that today, the global supply chain seems to be suffering from a "leftpad" issue when it comes to electronics as a few factories in Taiwan and South Korea produce chips used almost everywhere, and some of the factories are in trouble for various reasons.
- Brian_K_White 5y agoEven simple stuff. There has been a problem for years that it's actually hard to prove what's actually in a jar of honey on a grocery store shelf, even in a country with strong consumer safety regulation. Is it even honey or is it fake? Where did it really come from and how was it actually produced and what ingredients are actually in it? There is a label that claims to answer all of that, but it often actually doesn't.