bearophile wrote:
Lutger:
If you have a dynamic language you have a different way of programming. In D
when I make a typo, the compiler catches it. When I do the same in Ruby, I
have a unit test that spits out a method missing exception with a trace.
Suppose D doesn't catch my typo and then my application crashes at runtime
without such a trace, that will be a nightmare.
This is a complex and long debated topic.
In my D programs I put almost as many unittests as I put in Python programs,
because experience shows me the type system of D doesn't catch that many bugs.
The result seems strong enough D programs.
While I debug I use the 'Phobos hack' to add something like those traces to D
(I don't understand why such feature isn't built-in yet, it's essential when I
debug D programs).
Agreed on testing, and agreed on stack traces.
However, how do you test the unit test system?