Project Elvis
Ola Fosheim Grøstad
ola.fosheim.grostad+dlang at gmail.com
Mon Oct 30 21:47:50 UTC 2017
On Monday, 30 October 2017 at 19:51:30 UTC, Jonathan M Davis
wrote:
> Yeah. Honestly, I stay away from if(x) in general if x isn't a
> bool.
That's the best option, even for ints. The proper way to cast to
bool is to be explicit. A lot of the shorthand in C probably had
to do with early CRTs not being able to display a lot of text. At
this day and age readability (easy to scan quickly) should be
more important than terseness.
> The fact that NaN == NaN is false and yet cast(bool)NaN is true
> though is just attrocious though. We aren't source compatible
> with C like C++ is, and yet we're still bound by it in so many
> small, stupid ways - largely because of the risk of ported code
> going badly.
I think some of the float semantics aren't in the standard, but
in IEEE754. But many languages have picked up many of C's
not-so-great design characteristics. I think largely because
people who write their own compilers tend to program in C… so
more cultural than rational.
More information about the Digitalmars-d
mailing list