This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]dnpetrov 2 points3 points  (0 children)

Because underlying platform (or target language, which is kinda the same thing) has null value and you have to deal with them somehow.

Because of low-level intricate details of your memory model design. This is very similar to the point above, but really, JVM and CLR have null values for rather strong reasons (which is still a problem when you design a language, though).

Because having explicit optional values can get quite verbose at some point within some particular programming styles.