assume, assert, enforce, @safe

H. S. Teoh via Digitalmars-d digitalmars-d at puremagic.com
Thu Sep 18 09:49:39 PDT 2014


On Thu, Sep 18, 2014 at 05:05:31PM +0100, Bruno Medeiros via Digitalmars-d wrote:
> On 01/08/2014 05:12, Walter Bright wrote:
> >On 7/31/2014 2:21 PM, Sean Kelly wrote:
> >>Thoughts?
> >
> >If a process detects a logic error, then that process is in an
> >invalid state that is unanticipated and unknown to the developer. The
> >only correct solution is to halt that process, and all processes that
> >share memory with it.
> >
> >Anything less is based on faith and hope. If it is medical, flight
> >control, or banking software, I submit that operating on faith and
> >hope is not acceptable.
> >
> >If it's a dvr or game, who cares :-) My dvr crashes regularly needing
> >a power off reboot.
> 
> "If it's a game, who cares" -> Oh let's see... let's say I'm playing a
> game, and then there's a bug (which happens often). What would I
> prefer to happen:
> 
> * a small (or big) visual glitch, like pixels out of place, corrupted
> textures, or 3D model of an object becoming deformed, or the physics
> of some object behaving erratically, or some broken animation.
> 
> * the whole game crashes, and I lose all my progress?
[...]

What if the program has a bug that corrupts your save game file, but
because the program ignores these logic errors, it just bumbles onward
and destroys all your progress *without* you even knowing about it until
much later?

(I have actually experienced this firsthand, btw. I found it *far* more
frustrating than losing all my progress -- at least I can restore the
game to the last savepoint, and have confidence that it isn't
irreparably corrupted! I almost threw the computer out the window once
when after a game crash I restored the savefile, only to discover a few
hours later that due to a corruption in the savefile, it was impossible
to win the game after all. Logic errors should *never* have made it past
the point of detection.)


T

-- 
People tell me I'm stubborn, but I refuse to accept it!


More information about the Digitalmars-d mailing list