[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