Each language can define NULL differently. However, because eventually it gets compiled to machine code, it does indeed need to be represented by some value. Most languages represent that value as 0, but not always.<p>It's better to think about NULL as a value plus a type. The value "False" may be 0 with a boolean type, just as NULL may be 0 with a pointer type.