Duality

The term for a dichotomy or a division in a space of possibilities. There are many dualities in programming, often surrounded by fallacies.

In the programming language mode of thinking about programming, we have pure vs. side effecting expressions, languages, and such, also expressed as the distinguishment between referential transparency and state.

There is also low-level vs. high-level, for those who are obsessed with implementation as a spectrum.

From category theory or abstract math/logic in general, we have induction and co-induction or algebra and coalgebra. This relates also to being well-founded vs. non-well-founded.

A separate duality in category theory is initiality and finality.