Sat, 26 Sep 2009 15:49:06 -0700, Walter Bright thusly wrote: > I used to work at Boeing designing critical flight systems. Absolutely > the WRONG failure mode is to pretend nothing went wrong and happily > return default values and show lovely green lights on the instrument > panel.
Basically if there is only one way the system can operate correctly, your approach is to catch errors on runtime (segfaults) until a later iteration of the program development turns out to work correctly or well enough. Meanwhile there are several buggy revisions of the program in the development process. The idea behind non-nullable types and other contracts is to catch these errors on compile time. Sure, the code is a bit harder to write, but it is safe and never segfaults. The idea is to minimize the amount of runtime errors of all sorts. That's also how other features of statically typed languages work.
