Unit tests

"Unit tests prove that a solution works in a particular way, rather than asserting that it solves a particular problem." (J. Humble et al.)…

We do not develop the domain

"We do not develop the domain. The domain is some realm of know-how of the business we are working in. What we design and implement is a model of a domain." (V. Vernon)…

Naming

"Naming is perhaps the most powerful abstracting notion we have, in any language, for it allows any complex to be reduced for linguistic purposes to a primitive atom." (G. L. Steele Jr.)…

Mathematical induction

"Mathematical induction proves that we can climb as high as we like on a ladder, by proving that we can climb onto the bottom rung (the basis) and that from each rung we can climb up to the next one (the induction)." (Concrete Mathematics 2nd ed.)…

Overloading

"If we look at mathematics, it has been greatly driven by overloading. Extensions of a notion of numbers from natural numbers to integers, to rational numbers, to Gaussian integers, to p-adic numbers, etc., are examples of overloading. One can easily guess things without knowing exact definitions. If I see an…