Some things every C programmer should know about C (2002)
  > There is an implicit "x != 0" in: if (x), while (x), ... etc.
  > An explicit "x != 0" in these contexts serves no semantic purpose.
  > And "x == 0" in these contexts might be better written as "!x".

I disagree with this advice because the idea is not portable across languages.For example, if we let the variable x hold the integer value 0, then:  Java    'if (x)' is a compile-time type error.
  Python  'if x:'  is falsy, similar to C.
  Ruby    'if x'   is truthy!