Можно ли возвращать null из функции?
ну вроде особых отличий в данном случае нет, принцип должен остаться неизменным
Что использовать вместо null зависит от инструментария языка. Что там в шарпе есть, nullable types? Типа "MyData? x" значит что x может быть MyData или null. Или "опциональные" значения? Вроде Optional или Maybe в хаскеле и Optional в яве.
ну так это фактически и осталось для обсуждения, так как приходим к мнению, что всё-таки есть случаи когда нулл удобнее. И не только для возврата из хранения.
"Удобнее" для кого? Изначальный вопрос стоял не как "удобно ли возвращать null". Есть люди, которым удобнее писать C++ на ассемблерных вставках, используя препроцессор. Или на перловских сокращениях. Никто понять не может, но ему удобно. Так что сначала надо определиться, что мы узнать-то хотим. Есть ли случаи, когда Ололёшеньке удобнее вернуть null? Конечно, что тут обсуждать.
Насколько я помню он был предназначен для обучения и возвращать можно было только value type.
Ну, списки в нём были. Ссылки были. И был nil. Борланд расширил, но если не лезть в ООП, (когда они это счастье добавили... в 5-м?) то он от классики недалеко ушёл.