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