3 ms·
I often repurpose a famous quote from Mark Twain (about letter writing) for the topic of simplicity: > I didn't have time to write a simple program, so I wrote
by jsdalton 8y ago
I often repurpose a famous quote from Mark Twain (about letter writing) for the topic of simplicity:
> I didn't have time to write a simple program, so I wrote a complicated program instead.
This is in my experience more than just a clever turn of phrase: the vast majority of software projects (or features etc.) move from _simplistic_ to complicated, and rarely from there toward simplicity. The end result is exactly what this author describes -- a complex mess that's difficult to reason about and rarely performant.
Few of us (usually myself included) are willing to devote the time and effort required to achieve true simplicity.
- wellpast 8y agoI've found that, unlike Mark Twain's profession of writing and art, in which each new work is attempting to push the bounds of thought and expression, constructing simple software is something that you can actually get better at over time, and with focussed practice. I hate to break this to us, but what we software developers do over and over again is not as novel and groundbreaking as, say, what a Mark Twain is doing with each work of art he produces. This is certainly true for me after 20 years of focussed practice. In fact, I have to go out of my way now to introduce coupling--it takes time for me to do the wrong thing. So when I hear someone say "I don't have time to make it simple / decouple everything / design it correctly", what I really hear is "I don't have the skill set" and, often, "I don't want to do the hard work and patience it takes to require the skill set." It's a philistinic cop out, really.