Let's be real about dependencies
a year ago
- #Rust-vs-C
- #software-development
- #dependencies
- The article discusses the issue of dependencies in software development, comparing Rust and C/C++ programs.
- It highlights that while Rust programs are often criticized for having many dependencies, C/C++ programs also have numerous dependencies, but they are often hidden as system libraries.
- The author examines several real-life C/C++ programs (RViz, VLC, lighttpd, debfoster, dash) to analyze their dependencies.
- The article points out that using libraries in C/C++ is cumbersome, leading developers to re-implement functionality instead of relying on external libraries.
- It concludes that modern package managers like cargo and npm shift dependency management from the system to the programmer, offering more control and reproducibility.
- The author suggests that solutions like static linking, containerization, or vendoring dependencies are trade-offs between control and complexity.