Originally posted 2015-09-15/Modified 2016-01-06
The difference between the right abstraction and the wrong abstraction is a huge difference in simplicity and clarity.
"I do believe that bulk, in programming or writing, can sometimes be an inverse measure of clarity of thought." – Leland Wilkinson, The Grammar of Graphics
bloatware reflects design-by-committee and sloppy thinking.
propositional logic vs predicate calculus
A programming problem can be described as a set of
preconditions
and requirements.
Every programming problem has an infinite number of solutions
no-free-lunch theorem