Just to add my two cents to the discussion, Typescript is implementing Non nullable types [1].
I think i'd be convenient that any language being used for large projects would support this feature.
Java has the checker framework that supports `@Nullable` annotations and will allow only those vars/fields to contain `null`.