dependence vs. dependency - chunhualiao/public-docs GitHub Wiki
Which form is correct? why? package dependence graph vs. package dependency graph
"Package dependency graph" is the correct form.
Here's why:
Key Distinction
- Dependence = the state or condition of being dependent
- Dependency = something that is depended upon (the actual thing being relied on)
Phrase | Correctness | Reason |
---|---|---|
Package dependency graph | Correct | "Dependency" is the countable noun for the things being graphed. This is the standard, idiomatic term in software engineering. |
Package dependence graph | Incorrect/Awkward | "Dependence" is the abstract state of relying on something. It's not precise and sounds unnatural in this context. |
In Software Context
In package management, we're specifically referring to:
- The dependencies (the actual packages that are required)
- Not the abstract state of dependence
Industry Standard Usage
This is the universally accepted terminology across:
- Package managers: npm, Maven, pip, Composer, etc.
- Documentation: Official docs consistently use "dependency"
- Academic literature: Research papers use "dependency graph"
- Development tools: IDEs and build tools use "dependency"
Examples in Practice
✅ "This package has three dependencies"
✅ "Dependency resolution failed"
✅ "Circular dependency detected"
✅ "Dependency injection pattern"
❌ "This package has three dependences"
❌ "Dependence resolution failed"
The term "dependency graph" specifically refers to a directed graph where nodes represent packages and edges represent the "depends-on" relationships between them. This is standard terminology that developers expect and recognize immediately.