Нулевые указатели были описаны как " ошибка в миллиард долларов". Некоторые языки имеют ссылочные типы, которым не может быть присвоено нулевое значение.
Интересно, следует ли при разработке нового объектно-ориентированного языка использовать поведение по умолчанию для ссылок, чтобы предотвратить присвоение значения null. Затем для переопределения этого поведения можно использовать специальную версию. Например:
MyClass notNullable = new MyClass();
notNullable = null; // Error!
// a la C#, where "T?" means "Nullable<T>"
MyClass? nullable = new MyClass();
nullable = null; // Allowed
Итак, мой вопрос: есть ли причина не делать этого на новом языке программирования?
EDIT:
Я хотел добавить, что недавний комментарий к моему блогу указал, что типы, не имеющие нулевого значения, имеют определенную проблему, когда используется в массивах. Я также хочу поблагодарить всех за полезную информацию. Очень полезно, извините, я мог только выбрать один ответ.