# 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).*