Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
I wonder about the possibility of introducing void safety in Go. When you call obj.Method() or dereference *obj, the compiler makes a guarantee that obj is not null, or else it will not compile. At the moment, in Go 1.8, the problem won't be detected until runtime. In a more complex situation, the issue may escape detection until the software is run in the production environment. Tony Hoare calls this a billion dollars mistake.
I am not a programming language expert, but I think this is worth implementing and it may potentially prevent many bugs.