What the hell is wrong with D?

Patrick Schluter Patrick.Schluter at bbox.fr
Sat Sep 23 20:43:36 UTC 2017


On Tuesday, 19 September 2017 at 18:34:13 UTC, Brad Anderson 
wrote:
> On Tuesday, 19 September 2017 at 18:17:47 UTC, jmh530 wrote:
>> On Tuesday, 19 September 2017 at 17:40:20 UTC, EntangledQuanta 
>> wrote:
>>>
>>> Thanks for wasting some of my life... Just curious about who 
>>> will justify the behavior and what excuses they will give.
>>
>> Pretty sure it would be exactly the same thing in C...
>
> It is (and Java and C# and pretty much every other C style 
> language though the nicer implicit conversion rules means it 
> gets caught more easily). It is a big source of programmer 
> mistakes. It comes up frequently in PVS Studio's open source 
> analysis write ups.

So I checked for all the languages listed: C, C#, Java, 
Javascript, C++, PHP, Perl and D. All have the same order of 
precedence except, as always the abomination of all languages: 
C++ (kill it with fire).
C++ is the only language that has the ternary operator have the 
same precedence than the assignment operators.
This means a>=5?b=100:b=200; will compile in C++ but not in all 
the other languages. That's one reason why it irritates me when 
people continuously refer to C and C++ as if it was the same 
thing (yes I mean you Walter and Andrei).
Even PHP and Perl got it right, isn't that testament of poor 
taste Bjarne?. :-)




More information about the Digitalmars-d-learn mailing list