Remember about clichés

When I was younger, I was very pleased with myself when I could say some “wisdom” to confirm my opinions. Then I have learned a term cliché (sidenote: Cliché is a phrase which originally was regarded striking, but have lost its force through overuse. (Wikipedia)) and I stopped doing so.

The problem with clichés is that they’re often overused for a reason. Repeating “premature optimization is the root of all evil” over and over again doesn’t make it false. “Live and let live” is still a good rule to follow and I wish more people did so. Some other clichés from a programming world, which are generally good advices, are “if it isn’t broken, don’t fix it”, or “KISS” (Keep It Simple, Stupid). (sidenote: n.b. even my prose linter marks some of these phrases as a clichés. )

Yes, I wish we didn’t have to repeat these phrases over and over again. I wish people remembered them and, at the right moment, these rules would provoke more critical thinking. “Am I over-optimizing here? Maybe I should measure first?” Or: “is there a simpler way to do this? Maybe I should stop and rethink my design.”

At the same time I wish we didn’t use these phrases as Thought-terminating clichés, for which I admit being guilty as well. Yes, premature optimization is bad, but it’s not a reason to not optimize at all, so judge all optimization efforts by their merit and don’t cross them out automatically. Yes, it’s nice to keep things simple and up to UNIX philosophy, but sometimes such approach isn’t pragmatic.

We must strike a balance between using and not using these phrases to express our thoughts. Next time you’d like to say about premature optimization, let’s try saying about your concerns that these optimizations aren’t based on actual needs of the software or its users. Next time instead of saying about fixing not broken things, say that you’re worried about investing a lot of time for redesigning parts which do not change a lot.