11 years after I presented "Bye-bye NPE" at EclipseCon, we still see null pointer exceptions, the tooling to detect these already during compilation isn't complete, yet, and no standard has emerged.
In this presentation I will discuss some of the reasons why this is hard, harder than we thought initially and harder than it should be.
Still over the years, tooling has been improved in some directions, to be presented here, in summary:
* more heuristic knowledge about things that can or cannot be null.
* additional safety when null-annotated interacts with "legacy" code; choose your safety level.
* more practical options for working with external annotations across multiple artifacts.
Attendees should walk out with a realistic sense that the risk of NullPointerExceptions can be gradually reduced, if they care. And they should know the strings they need to pull to get closer to the goal.