3 ms·
We measure software based on the features and bugs it has. The number of dependencies it uses to implement those features doesn’t matter. If it has bugs, we don
by db48x 4y ago
We measure software based on the features and bugs it has. The number of dependencies it uses to implement those features doesn’t matter. If it has bugs, we don’t care if the bug was introduced by one of those dependencies either. Likewise we shouldn’t care where the compile time comes from.
When you are writing software you might decide that you need some facility, maybe a hash table or an HTTP parser or something. You can either write it yourself or you can pull in a dependency written by someone else. Either way the code will be more or less the same size and take the same amount of time to compile, so that’s rarely a consideration. Dependency managers like cargo and npm take away all of the pain of downloading the code and integrating it into yours, so that’s not a concern either (if you were writing in C it would be a huge concern).
The only thing you as a programmer have left to be concerned about is quality. You might find that the dependency is poorly implemented, buggy, incomplete, etc. One of the good things about cargo and npm both is that they encourage packages to be open–source. This means that we can pick and choose those packages that are of acceptable quality, and improve them as needed. In the old days you might be stuck with whatever libraries your boss had purchased, with no recourse if they turned out to be crap.