Time to read
, 324 words, 4th grade
How many developers still do not get this simple truth? The goal of programming is to simplify complex problems; it is not to complicate simple ones.
Do not needlessly multiply entities. So saith that OG programmer, William of Ockham.
Most folks mis-paraphrase this as “the simplest solution is the best one.” But thatʼs not quite right. The key word here is “needlessly.” Thus, a better paraphrase is:
The simplest solution all else being equal is the best one.
This means that if the simpler solution isnʼt an equal solution, then it is not the best solution. Itʼs that simple.
If simplicity were the only criterion, then the simplest “solution” would be to do nothing. Sometimes, this actually is the best course of action, but often it is no solution at all.
What William of Ockham was saying is this: donʼt include features that serve no purpose. If you can achieve your goal with five moving parts, then donʼt use seven. No gratuitous nothinʼ.
This applies to all of programming and web development. Donʼt add features no one needs. Donʼt write ten lines of code where five will do (unless necessary for clarity). Donʼt clutter the UI with gratuitous ornamentation. Make everything count.
Itʼs that simple. But it seems that many programmers/devs canʼt resist complicating things. And that is a shame, because doing so wastes enormous amounts of time, effort, and money. And that leads only to more wasted time, effort, and money to clean things up.
Not to mention oodles of tech debt.
Worst, it is simply not sustainable.
Keep it simple and do it right the first time.