LINUX.ORG.RU

nil в языках программирования


0

1

Меня интересует как используется nil в различных языках программирования, и вообще насколько это удобно с точки зрения дизайна языка.

В данном треде обсуждаются исключительно динамически типизированные языки.

К примеру в JavaScript есть есть два значения похожих на nil: null и undefined. (Нужно ли было плодить?)

В Scheme есть #f, но нет nil. В Factor тоже нету nil, и используют f. (Нужен ли nil если есть false?)

Кроме того, как-то читал что вроде в первых версиях Objective-C был объект nil (Objective-C не знаю вообще), который поглощал вызовы, был чёрной дырой. Т.е. вёл себя как NaN для чисел. На любое сообщение объект возвращал nil.

В треде приветствуются:

  • Ссылки на статьи с обзором различных подходов
  • Ссылки на какие-либо интересные языки, относящиеся к теме

UPD: Насколько допустимо трактовать «пустые» объекты (пустой список, пустой словарь и т.д.) как false, и есть ли у такой фичи опасные побочные эффекты, или вообще расположение к каким-либо багам.

★★

Последнее исправление: vladimir-vg (всего исправлений: 1)
Ответ на: комментарий от anonymous

т.е. тип его должен зависеть от эээ... контекста?

korvin_ ★★★★★
()
Ответ на: комментарий от bga_

>вобщем те же яйца вид сбоку.

Далеко не теже. При наличи приличной Maybe в типизированном языке без указателей - все нулы идут лесом потому что ненужны. В нетипизированном тоже - но там компилятор носом не тыкает в места где «могут быть варианты».

r ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.