What are considered falsey values is different in various programming language.
In Ruby, falsey values are
On the other hand, language like Java (so-called “strongly typed” language) don’t have truthy and falsey.
true evaluates to true,
false evaluates to false and everything else used in a Boolean context will cause the compiler or interpreter to yell at you.
This is why the distinction between Boolean values and truthy/falsey is important: there is nothing inherent that makes
0 a falsey. It’s a design choice by the programming language creators and maintainers (although it would be surprising if a language considered 42 a falsey).