Less commas
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Sun Jan 2 15:06:05 PST 2011
On 1/2/11 4:30 PM, spir wrote:
> On Sun, 02 Jan 2011 20:56:48 +0000
> Peter Alexander<peter.alexander.au at gmail.com> wrote:
>
>>> This is great stuff, bearophile. Thanks for finding that. Please add
>>> this as an enhancement request to bugzilla (disallowing (!x&y)
>>> expressions).
>>
>> That really surprises me that it's a common bug. Isn't it obvious that !
>> has higher precedence than&? Or have I totally misunderstood the cause
>> of the bug?
>
> That's not such surprising: a study on the topic (operator priority) has shown a very high frequency of such errors (in C). The public were all highly educated, tranined, experienced, programmers.
> On the other hand, the same study showed how ridiculous the proportion of lines of code holding poly-operator expressions is (which comparatively still highers the relative frequency of errors).
> A logical conclusions is , I guess: is it worth complexifying a language (by a sub-language just for expressions, which is often the bigger and most complicated part of a parser)& causing loads of bugs for a need that arises even 1000th lines of code?
I'd say that a class of bugs that occurs every 1000 lines, is traceable
to a unique cause, is mechanically detectable with ease, and is easy to
avoid by the programmer, is a MUST to eliminate through language design.
Phobos has 90K lines. If I could eliminate 90 bugs in it by a recompile,
that would be awesome.
By the way - if (a & b == 0) is another one (Don worked on that).
Andrei
More information about the Digitalmars-d
mailing list