On Friday, 1 May 2015 at 09:28:58 UTC, Vladimir Panteleev wrote:
On Friday, 1 May 2015 at 09:08:11 UTC, Jonathan M Davis wrote:
Walter tends to err on the side of wanting to break no code
whatsoever, and
he almost never seems to understand when folks actually _want_
their code
broken, because they consider the current situation to be
worse than having
their code temporarily broken (e.g. because leaving the
current state of
things in place would result in far more bugs in the future).
It's not really as simple as that, and I think I understand W &
A's position here.
It seems that every once in a while, someone on Reddit etc. is
going to say something along the lines of "I once tried to
compile some code written in D, and it didn't compile with none
of the three compilers. I'm not familiar with the language or
code, so fixing it was out of the question, and so was randomly
trying old compiler versions. If other people are going to have
the same experience using MY code, then I don't see the point
in investing time in D."
I was in the "break my code" camp for a long time, but this has
gradually changed as the amount of D code I've written grew.
Let me tell you, it's totally not fun when you need to quickly
fix a D program you wrote 3 years ago because something is on
fire and it needs fixing now, and discover you have to make a
bunch of changes just to get it to compile again. The
alternative is using an older compiler, and DVM helps with that
- but this doesn't work if the fix is in a library which is not
compatible with older compiler versions.
I would love a cleaner D language, if only it could be enforced
just onto NEW code.
Most of commercial code _is_ maintained, fix it for a change like
this one is _trivial_.
This apply to _every programming language_ : we are doing it
right now, today, to upgrade a commercial library that we sell to
a different visual studio edition.
Hunting for bugs is wasted time.
Explaining the pitfalls of the language is wasted time.
Explaining the inconsistency of the language is wasted time.
Reling on convenctions instead of being forced by a tool is
wasted time.
This comes from my experience, as the CTO of a company with a big
D codebase: reddit turned out to be some sort of pestilence for
D, IMHO...
/P