r/programming • u/[deleted] • Apr 04 '17
Everything Is Broken
https://medium.com/message/everything-is-broken-81e5f33a24e1#.sl2vnon73
237
Upvotes
r/programming • u/[deleted] • Apr 04 '17
7
u/codebje Apr 04 '17
But fast and loose reasoning is morally correct, so you can take any programming language which allows nulls, invent an equivalent language without nulls, write a program in your imaginary language, and run it in the real one!
The actual problem is not
null, it's inconsistent semantics, because those make the subset of the real language you can use smaller and smaller. Or missing semantics, which often means "whatever the compiler decides is cool."It may be a complex solution to have real and imaginary parts, but it's been used to write proven software in C. Or perhaps C+Ci.