This is complete BS; *p->field and (*p)->field _never_ will be both accepted by compiler - with the former p has to be a pointer to struct or union, while with the latter it has to be a pointer to pointer to struct or union. There's no chance whatsoever that such typo will not be caught as soon as e.g. i = 2 * (3 + 4(; would be.
Posted Jan 28, 2010 7:40 UTC (Thu) by ncm (subscriber, #165)
[Link]
Examples are easy to concoct, but why should I have to wait for the compiler to tell me it's wrong, if a better notation means I don't get it wrong in the first place?
Think carefully
Posted Jan 28, 2010 20:32 UTC (Thu) by viro (subscriber, #7872)
[Link]
Care to provide any evidence supporting the claim that this kind of braino is frequent? IME it is very low-frequency and my anecdotes are worth as much as yours (i.e. nothing).
FWIW, it _is_ resolvable - comparison of frequencies of {member(deref(deref(...))), postfix increment/decrement(deref(...))} with those of deref(prefix increment/prefix decrement(...)) would make a good first approximation. And that can be measured, unlike the frequencies of brainos averaged by programmers. Feel free to take gcc (or sparse, which is easier to hack) and add tree-walker that would count such nodes in expression trees. Run it on sufficiently large and diverse codebase and report the results. Hell, extend that to other combinations of operations, add analysis of number of parens needed with different choices of precedences, prefix vs. postfix, associativity and you've got a publishable paper out of it.
Without any kind of hard data it's basically YAHolyWar and as such its proper place is in alt.sex.masturbation, not here...
Think carefully
Posted Jan 28, 2010 22:32 UTC (Thu) by efexis (guest, #26355)
[Link]
Here's more of a place for civilised discussion, and whilst it's obviously preferable to have subjectivity not given in the tone of objectivity (it can confuse those who are learning) it's also just as preferable to have disagreements given in a more agreeable tone than refering to someones opinions as "complete BS" :-p
Think carefully
Posted Jan 29, 2010 3:19 UTC (Fri) by ncm (subscriber, #165)
[Link]
I see that you are not interested in a civilized discussion. Why post at all?
Irrelevant.
Posted Jan 28, 2010 8:34 UTC (Thu) by alextingle (guest, #20593)
[Link]
Irrelevant. I can write a compiler for any convoluted syntax I care to conceive: