On 1/9/20 8:38 PM, Ken Pettit wrote:
And here we go again. :) LOL
I had to respond to "what you wanted to do anyway"
That is just a completely flagrant violation.
--
bkw
On 1/9/20 5:37 PM, Brian K. White wrote:
On 1/9/20 6:48 PM, Ken Pettit wrote:
On 1/9/20 3:34 PM, John R. Hogerhuis wrote:
Yeah. That's one point of view.
What if we could have remove a lot of those obstacles for him ahead
of time so he never even encountered them?
IMO, there's a lot to be said for things that "just work".
Not only that, but it creates a lot less "Call center" calls trying
to debug why loading this program or that program always crashs my
machine (or my VirtualT). While I understand the purist's point of
view of "don't touch my data and let me decide", I side with John in
just making sure it works because that is really what you wanted to
do anyway.
It's not your place to tell me what I wanted to do.
It's not being a purist to hold this tenet, or, if it is, then it's
no criticism to be a purist about it. Pick any other bad thing and
say "those silly anti-malaria purists...". Or less dramatic "purists
who say that 1+2=4 is *always* wrong..." The implied charge has no bite.
I
can't think of any situation where someone was trying to load an
ASCII .BA file just so they could crash their machine.
Serendipitous! As it's not your job to try to think of any situation
like that. How lucky is that?
Thinking of everything in infinity that might be possible, is
impossible, which is why it's never valid to take that approach in
the first place. That's why we have scopes and separations of concern
etc.
Let a dedicated separate cleaner-upper utility attempt to do things
like that, when a user specifically asks for it, by actively using
the tool. Then you can never be guilty of breaking anything or
injecting your own infuriating unwelcome problems. You don't have to
worry about doing the impossible (getting it right 100% of the time
forever in all future situations in decades to come), nor have to
settle for having it on your name that you did something while
knowingly not bothering to get it right 100% of the time.
The separate util doesn't have to worry about being so impossibly
perfect. It doesn't make the implied promise that a storage device
does. Whatever a generic processing util promises to do, it doesn't
run itself without being asked on every transaction. It only runs
when asked, and the user can tolerate imperfection in it, because
they can choose not to run it.