Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guest271314/93ae640f3d58584abd86e67c2696e740 to your computer and use it in GitHub Desktop.
Save guest271314/93ae640f3d58584abd86e67c2696e740 to your computer and use it in GitHub Desktop.
A modest proposal for imperfect software

If you maintain software, it's perfect. Guaranteed. Copyrighted. Patented. Your compilers and frameworks and libraries have been downloaded billions of times.

If I asked some wild question about your software it's just that I might have some trivial use case that is not intended to make money, or some use case that is explicitly outside of your specification, or implementation. It's me. Your software is perfect, always will be. How dare me to use your perfect software in an imperfect manner outside of your clear and unambiguous mandates in your README. Where are my manners?

I do have empathy for you when the constructive feedback I try to provide about your perfect design goals and perfect software offends you.

Really, I'm not trying to offend you.

Kindly forgive me for ruffling your feathers. What was I doing thinking? Testing your software, vetting your claims, actually having ideas for doing stuff outside of your declared scope that must be strictly adhered to so children of a lesser software god can produce perfection vicariously through your usage mandates.

I know your ideas and design goals and implementations are perfect.

It's me, the lowly anonymous programmer alone who is imperfect.

These pesky programming ideas just pop into my clearly imperfect mind. I should just follow the perfect design goals and implementations without asking any questions. After all, I'm dealing with perfection. I just have to accept that. How dare me to think!

I should just comply with my station, obey your well-established rules and defer to the perfection that are your ideas, README, design goals, specifications, drafts, and implementations. When you make changes to source code that is perfection perfecting even more, not correcting mistakes or adding features. How could perfect code need anything?

Your software is the epitome of perfection.

It must be my own imperfect thinking that prompts me to think outside of the perfection of your software. How dare me to think! The nerve of a mere user for not obediently following what the perfect programmers do daring to question perfect software!

Again, here I go thinking. Everybody knows everybody should just follow other people and not think for themselves.

No, really.

Pardon me for thinking.

How dare me, a mere human, ask questions about perfect software.

I'll head out right now and buy a Mac Pro box, and the latest iPhone. Everybody knows all Apple products are the epitome of perfection. Windows with .NET going is really, really close to perfection, though one bite of Apple, and you'll know perfect software and hardware! I'll get Rust going immediately. Might as well get some TypeScript and React and Node.js going, too. Everybody already knows TypeScript and React are both perfect. All other software past, present, and future are imperfect compared to React!

Might as well get some AI going, too. Everybody already knows AI is perfect!

The best a mere imperfect programmer in the field could hope for is at some point your design goals, specifications and implementations might be impferfect. Then I might be able to understand your grand concepts, as I am imperfect, so maybe I, being imperfect, might be able to understand that one-off of your work being imperfect.

Alas, it'll never happen though...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment