OK, my title is somewhat premature, but the end is nigh!
DRY = Don't Repeat Yourself
was a fundamental rule when I learned to code[^1] and has now become a popular stalking horse[^2]
As of several years ago, the DRY principle was almost dead due to:
- IDEs with powerful refactoring tools, such as LSPs
- strongly typed languages which allow for safe "quantum" edits where the compiler can identify very distant dependencies anywhere in the codebase
- software startup economics, that is, an imperative to ship as fast as possible, while taking on the right kinds of technical debt
- lots of abuse, e.g., for "coincidental repetition", inappropriate coupling, and premature optimization
With AI-assisted tab completion[^3], tons of repetition and boilerplate empowers programmers to be more productive rather than less.
With LLM coding:
-
quantity of boilerplate leads to more adoption[^4]
-
quantity of lines of code produced leads to more easily measured metrics, and
-
cognitive cost of boilerplate gets...