Comment Re:Also the guy who created null (Score 1) 32
More modern languages like Kotlin, Swift and Rust define optional types which can hold something, or nothing. Code must explicitly unwrap the object inside to use it, and the languages have conveniences for mapping values, error propagation etc to encourage proper use & safety. If code still tries to unwrap when there is nothing inside, the code will generate a proper runtime exception.
Some older languages have either acquired Optional types or null coalescing to mitigate the issue a bit. But it doesn't fix legacy code that doesn't use those types and oftentimes it's syntactic sugar or type hinting that can be circumvented.