if(arr) now a warning

Paolo Invernizzi via Digitalmars-d digitalmars-d at puremagic.com
Fri May 1 03:06:23 PDT 2015


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



More information about the Digitalmars-d mailing list