A (short) must-read piece from rachelbythebay:
“Everyone knows” that code is something you type into a computer, that gets interpreted by a computer, and is run by a computer. But that’s not really the end of it. Before that, it’s being “run” on whoever’s working on it. After that, it’s “running” on whoever’s digging into it to fix a bug or add some feature.
You can throw all kinds of wicked, nasty, complicated, Klein-bottle-wannabe tricks into code and the computer will shrug and slog on through it.
Try feeding that same mess to a human and you will have a variety of problems. We see them every day, and, unfortunately, we /create/ them every day.