Tomek Sowiński wrote:
Walter Bright napisał:
bearophile wrote:
Walter:
The reason that took so long was that few people were using DbC
effectively, so it was a low priority. I originally had high hopes that
DbC would produce dramatic improvements in code quality, but the real
world results were disappointing.<
After many years and many failed hopes, I think there is no silver bullet
in programming, so maybe nothing is able to produce "dramatic
improvements in code quality".
But even if this is true, some things are able to improve coding a bit,
like unit testing, a well semantically defined language, syntax coloring,
quick compile-run cycles, OOP for certain kinds of programs, DbC, and so
on. Each of such things improve the situation only a little, but such
improvements pile up and most programmers when have tried them don't want
to go back to miss those things.
Unit testing has produced a dramatic improvement in coding.
Yes, it's big. Funny that it's not really a technical change but a cultural
one -- D just leaves no excuses to even the most stone-age programmers not to
test their code.
I was talking about this with Andrei the other day. D's focus on making it easy
to do things the right way has paid off handsomely, though this is not at all
obvious from reading a feature list. It only becomes clear when you use it for a
while, and then try to go back to the way you were doing things before.
I think one of the reasons DbC has not paid off is it still requires a
significant investment of effort by the programmer. It's too easy to not bother.