News for hackers. Stuff that matters.
Re:Why 1 && 2 == 2 by cldr on Friday July 19, 2013 @12:06AM (#6068272)
This is commonly seen in Perl and PHP with stuff like

    launchMissiles() or die('failure');
Re:Why 1 && 2 == 2 by pyre on Friday July 19, 2013 @01:27AM (#6068472)
It's worth noting that in Perl the 'or' and 'and' operators are not equivalent to || and &&. For instance, they have super low operator precedence:

  my $variable = 0 or 1;
Would result in $variable == 0 because it really looks like this:

  (my $variable = 0) or 1;
I allowed myself to get burned by this once because I didn't read the fine print. ^^;;
Re:Why 1 && 2 == 2 by k3n on Friday July 19, 2013 @12:58AM (#6068406)
Ugh, `or` is mostly useless in PHP.

That code is identical to:

    launchMissiles() || die('failure');
Re:Why 1 && 2 == 2 by ars on Friday July 19, 2013 @06:18AM (#6069247)
That code is the same, but or has a lower priority than ||, so they are not the same is the code before the or is an expression.

Also, using or instead or || for these types of things is more readable since it makes your intent of conditional code execution (as opposed to boolean evaluation) clear.

Re:Why 1 && 2 == 2 by k3n on Friday July 19, 2013 @11:23AM (#6070739)
Meh, it's not more unreadable unless you have issues understanding || in the first place... and "or" is still a boolean operation.

Considering 99.9% of it's use in PHP is some variant of "connect() or die()", I stand by my statement. Besides, those "connect() or die()" expressions are widely considered bad-practice in the first place.

Re:Why 1 && 2 == 2 by eridius on Friday July 19, 2013 @01:01AM (#6068416)
The better form of this would be

    launchMissiles() and die('mutual annihilation");