Nil vs Null

In Java the most “popular” error is java.lang.NullPointerException. The problem is so pervasive, so bad, that there are even things like java.util.Optional and The purpose (insofar as I understand it) is to get callers of methods to actually check if something was returned by a method call. The problem is that every object variable (any variable that is not a for a primitive type) in Java is actually a reference, that is, a pointer.