Re:Why I'm not a React Native developer
by hirsin on Sunday August 20, 2017 @12:34AM
(#15056969)
I spend chunks of every day looking at a C/C++ codebase and have never seen this. Taught Java for a year in college, I have never seen this. I would leave a note to a student for using this to be honest - too unclear, and (as this thread denotes) not well known enough to put in production worthy code.
[ Parent
| on HN ]
Re:Why I'm not a React Native developer
by debaserab2 on Sunday August 20, 2017 @02:56AM
(#15057286)
I'm pretty surprised to hear this from someone who taught a programming course. It actually makes a ton of sense when you evaluate what is happening: it's the negative unary value and then the negative unary result of that value - there's no possible way it could be anything other than true or false. It's more of a side affect of the unary operator ! than it is a language feature, which I believe is why it sees such ubiquitous implementation.
> I would leave a note to a student for using this to be honest - too unclear, and (as this thread denotes) not well known enough to put in production worthy code.
You've done a total disservice to your students that understood negative unary operations then. Given how many upvotes my initial post on this thread has (currently 38) I don't think the thread denotes what you think it does at all.
Re:Why I'm not a React Native developer
by empthought on Sunday August 20, 2017 @10:19AM
(#15058481)
You're kidding, right? "!!foo" is a complete no-op in Java. It is never needed and never correct.
Re:Why I'm not a React Native developer
by lomnakkus on Saturday August 26, 2017 @07:36PM
(#15108074)
You're basically wrong on every single point. It's a syntactic hack in JS to get a guaranteed boolean coersion, but for anything else it's an absolutely pointless abomination. (Maybe PHP has a similar thing, but I haven't programmed in PHP, so I wouldn't know.)