Hasty Briefsbeta

双语

Let's be real about dependencies

a year ago
  • #Rust-vs-C
  • #software-development
  • #dependencies
  • 文章讨论了软件开发中的依赖问题,对比了Rust和C/C++程序。
  • 指出虽然Rust程序常因依赖过多受批评,但C/C++程序同样存在大量依赖,只不过它们常以系统库形式被隐藏。
  • 作者通过分析多个实际C/C++程序(RViz、VLC、lighttpd、debfoster、dash)来剖析其依赖关系。
  • 文章强调C/C++中使用库十分繁琐,导致开发者宁愿重新实现功能也不愿依赖外部库。
  • 结论指出现代包管理器(如cargo和npm)将依赖管理从系统转移给程序员,提供了更强的可控性和可复现性。
  • 作者提出静态链接、容器化或依赖本地化等解决方案,都是在控制力与复杂度之间做出的权衡。