Inspired by an episode from Seinfled, I decided to make a post about nothing. Well, I do have to write something, so it will be an improvise of whatever comes to mind.
What Is Nothing
Some might argue that in programming we have
null, which is nothing. However, if
null is nothing, then what is
null in most programming languages is just a sentinel value, hence it is something. Although some languages, like python and swift, actually have “nothing”, which is the
None type. If you have a function in python that returns nothing, and you try to assign the return to a variable anyway, that variable will hold
None, which is literally nothing.
Is It Important?
It is very important to have this concept of a well defined “nothingness” in a language. If you have it, you can easily express the nothingness of something…
I mean, in a typical case scenario, we might have a method that returns an
int. If for some reason that method might fail to calculate the return type, we would want to return something to indicate the calculation failure. In a language like
objc, we use
NSNotFound, which is just
INT_MIN. But what if that value is a possible value returned by the method?
So, adding a nothingness provides a consistent way of expressing a
no-value thing that the caller understands.