I'm surprised no one has mentioned Rust[1] yet. It's a systems programming language that has managed to get rid of null pointers by carefully controlling the ways in which a a value can be constructed[2].
[2] https://github.com/mozilla/rust/wiki/Doc-language-FAQ#how-do...