# Orthogonality (programming)
## MicroSim spec
- **Recommended sim type:** feature / independence
- **Microsimmability score:** 75/100
- **Layout:** drawing region (canvas) on top; control region (sliders/buttons) below.
### Parameters (tunable controls)
- `Feature interactions`
- `Feature count`
- `Composition depth`
### What animates
Features are composed; unexpected-interaction count stays flat when orthogonal but explodes combinatorially otherwise.
### Learning objective
Relate predictable composition to feature orthogonality.
## Links (Wikipedia order)
<!-- injected from _registry/childlinks/Orthogonality_(programming).json (2026-07-30T02:09:12Z) -->
`Abstraction_(computer_science)` · [[Accuracy_and_precision]] · [[Adaptability]] · `Agile_software_development` · [[Algorithmic_efficiency]] · `Aspect-oriented_programming` · `Backward_compatibility` · `CI/CD` · `Capability_Maturity_Model_Integration` · `Cohesion_(computer_science)` · `Compatibility_layer` · `Compatibility_mode` · `Complex_instruction_set_computer` · `Component-based_software_engineering` · `Computer_compatibility` · [[Computer_engineering]] · [[Computer_programming]] · [[Computer_science]] · [[Correctness_(computer_science)]] · `Coupling_(computer_programming)` · `Data_model` · `Data_modeling` · `DevOps` · `Empirical_software_engineering` · `Enterprise_architecture` · `Enterprise_unified_process` · `Entity–relationship_model` · `Essential_systems_analysis` · `Evaluation_strategy` · `Executable_UML` · `Experimental_software_engineering` · `Extreme_programming` · [[Flexibility_(engineering)]] · `Formal_methods` · `Forward_compatibility` · [[Function_model]] · `Functional_specification` · `IBM_System/360` · [[IDEF]] · `ISO/IEC_15504` · `ISO/IEC_9126` · `Incremental_build_model` · [[Information_model]] · [[Information_science]] · `Iterative_and_incremental_development` · `List_of_system_quality_attributes` · [[Loose_coupling]] · [[Maintainability]] · [[Metamodeling]] · `Model-driven_engineering` · `Modeling_language` · [[Non-functional_requirement]] · `Object-oriented_programming` · `Object_model` · [[Ontology_(information_science)]] · `Orthogonal_instruction_set` · `Processor_register` · `Programming_paradigm` · [[Project_management]] · `Rapid_application_development` · `Reduced_instruction_set_computer` · [[Reliability_engineering]] · [[Requirements_engineering]] · [[Reusability]] · `Risk_management` · [[Robustness_(computer_science)]] · `Round-trip_engineering` · [[Scalability]] · [[Search-based_software_engineering]] · `Service-oriented_architecture` · [[Site_reliability_engineering]] · `Social_software_engineering` · `Software` · `Software_archaeology` · [[Software_architecture]] · `Software_configuration_management` · `Software_deployment` · `Software_design` · `Software_development_process` · [[Software_engineering]] · `Software_incompatibility` · `Software_maintenance` · [[Software_portability]] · `Software_prototyping` · [[Software_quality]] · [[Software_quality_assurance]] · [[Software_quality_control]] · [[Software_quality_management]] · [[Software_sizing]] · `Software_system` · [[Software_testability]] · `Software_testing` · `Software_verification_and_validation` · `Spiral_model` · `Structured_analysis` · `Systems_analysis` · `Systems_development_life_cycle` · [[Systems_engineering]] · `Systems_modeling` · `Systems_modeling_language` · `Unified_Modeling_Language` · `Unified_process` · `Universal_Systems_Language` · [[Usability]] · `V-model_(software_development)` · `VAX` · `View_model` · `Waterfall_model`
> p5.js MicroSim stub · part of System Quality Attributes · [Wikipedia source](https://en.wikipedia.org/wiki/Orthogonality_%28programming%29)
> Relation: subfield of system quality attributes.
## Concept summary
Orthogonality in programming means language or API features combine freely without unexpected interactions.
## Build checklist
- [ ] Claim it: set `status: in-progress` + `lease` + `leased_at`
- [ ] Write the child page explaining the concept (tie it back to system quality attributes)
- [ ] Finalize parameter ranges and defaults
- [ ] Implement the p5.js sketch (drawing + control regions)
- [ ] Add caption + the learning objective on the page
- [ ] Set `status: done`
## p5.js sketch
```javascript
// MicroSim: Orthogonality (programming)
let controls = {};
function setup() {
// createCanvas(...); create sliders for the parameters above.
}
function draw() {
// background(...); read controls; render feature / independence; respond live.
}
```
---
Back to System Quality Attributes · Wikipedia: [Orthogonality (programming)](https://en.wikipedia.org/wiki/Orthogonality_%28programming%29)
---
<!-- SEMIOTIC-PROFILE:START -->
## Semiotic profile
> *The semiotic universals this article invokes, machine-derived from the crossref — **unverified** (born so). Populated 2026-07-06 for the Systems room.*
**Universals (1):** 🟡 system (5)
**Enter by sign:** Systems Semiotic Gateway · Alphabetum · Icon Registry · ← Systems Portal
<!-- SEMIOTIC-PROFILE:END -->
## Wikipedia : Wikitube
**Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Orthogonality_%28programming%29) : [Wikitube](https://en.wikitube.io/wiki/Orthogonality_%28programming%29)
## Previous hub tags
Tree parent: [[Reliability_engineering]].
Legacy hubs: none.
---
*Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*