Hello all, Yesterday I started playing with D for the first time, (I'm a Java & C++ programmer by day and a python programmer by night). In my first experiments I wanted to prove that:
1) Exceptions have stack traces (so you can tell *where* the error occurred!) 2) Indexing into an array causes an exception instead of a segfault or memory corruption 3) Dereferencing null pointers causes an exception instead of a segfault D 2.0 seems to handle my first two tests just fine but this program causes a segfault: ------------ class A { int i; } int main(char[][] args) { A a = null; a.i++; return 0; } ------------ I realize that checking every pointer dereference is expensive but, in my experience, null pointer dereferences are one of the top 5 runtime errors. At work I troubleshoot java NullPointerExceptions on a weekly basis. Can you imagine trying to troubleshoot a massive web application that crashes with the phrase "Segmentation Fault" after running just fine for two weeks? Without a stack trace it's not reasonable. Does D address this problem? Perhaps another compiler switch similar to the existing -noboundscheck ? Cheers - Adam B