::scr Basing it all on ASCII - and data integrity checks

Alaric Snell scr@thegestalt.org
Wed, 6 Feb 2002 16:59:53 +0000


On Wednesday 06 February 2002 16:53, you wrote:
> On Wed, 6 Feb 2002, Alaric Snell wrote:
> > On Wednesday 06 February 2002 16:28, you wrote:
> > > To my backups.  I work on the assumption that any piece of software
> > > is going to fail in interesting ways.  And I *certainly* don't trust
> > > software to detect that it has borked and to fix itself.  If it could
> > > do that, it wouldn't bork in the first place.
> >
> > Those backups being text files of everything, then, right?
>
> Where exactly did he say that he was making text-based backups?

He wasn't, that's the point :-)

The thread is about basing file formats on ASCII...

> > But back to reality, although current software quality is often bad,
> > it's quite easy to fix this problem if people would stop writing things
> > in f**king C or C++ or Perl and that lot and put the effort in to use a
> > bondage-and-discipline language like Eiffel :-(
>
> So *that* is the Silver Bullet that Fred Brooks said doesn't exist!

Ah, that's a different issue. Those are semantic bugs, I'm talking about 
consistency checking to prevent data corruption. SQL databases do this, but 
with an annoyingly crude data model, and at too low a level... they tell you 
when something's gone awry by complaining, but it's usually much too late at 
the stage when the data tries to hit the database; the original bug can still 
be really hard to find. Having consistency checking of data structures and 
function arguments / returns, not to mention loop invariants, really helps 
catch errors early :-)

Of course, there is no way to *eliminate* software errors (without AI, at 
least...); but there's a lot we can do to make them a *lot* fewer. It's just 
that everyone's always in such a hurry to write new software.

ABS

-- 
                               Alaric B. Snell
 http://www.alaric-snell.com/  http://RFC.net/  http://www.warhead.org.uk/
   Any sufficiently advanced technology can be emulated in software