[M3devel] Do I remember well...

hendrik at topoi.pooq.com hendrik at topoi.pooq.com
Tue Feb 26 17:33:12 CET 2008


On Tue, Feb 26, 2008 at 03:01:50AM +0000, Jay wrote:
>  
> I just don't see static checking making all that much headway against 
the tremendous variety of things programmers do wrong. "Safety" is a 
nice step, get the easy things, the buffer overflows, but that still 
leaves lots of room for error (look at how my "safe" m3path.m3 broke the 
tinderbox for example....)

Static checking is a huge help.  Every error caught by a static check is 
an error clearly and effectively reported to you.  You don't have to 
spend time analysing the run-time behaviour of your program to figure 
out what's wrong.

Granted, there are still lots of things to do wrong.  Run-time checks 
(with garbage collection) help further by enforcing the abstract-machine 
model of the language.  This means that you never have wild pointers 
or out-of-bounds subscripts in a data structure in one part of a 
program wreaking havoc on an unrelated part.  And those bugs can take 
*days* to track down.

No.  These things don't solve all problems.  They don't ensure program 
correctness.  But they sure make it easy to track down most problems.

-- hendrik



More information about the M3devel mailing list