Java has finally got options, so at least it's theoretically possible to start a migration path to non-nullable. It will take decades though.
Re:.NET Framework 4.6.2
by kodfodrasz on Wednesday August 03, 2016 @07:41AM
(#12217228)
I tried to use the java Optional<T>, but the API has some points, which make it inconvenient for some usecases. (Some of these are addressed in Java 9)
As I see: unfortunately without algebraic types you cannot solve this properly, even if you address the lacking points in Optional<T>
I hope I will be wrong.
ps: a language where non-nullable references are the thing would be the best.