Подтвердить что ты не робот

Что Джон Маккарти имеет в виду * порнографическим программирование *?

В История Lisp Маккарти пишет:

Неожиданное появление интерпретатора, как правило, задерживало форму языка, а некоторые из решений, сделанных довольно беззаботно для "рекурсивных функций...", позже оказались неудачными. Они включали нотацию COND для условных выражений, которая приводит к ненужной глубине скобок и использование числа 0 для обозначения пустого списка NIL и значения истины false. Помимо стимулирования порнографического программирования, давая специальную интерпретацию адреса 0 вызвало трудности во всех последующих реализациях.

О чем он говорит?

4b9b3361

Ответ 1

Тот факт, что слишком много деталей реализации протекало на более высоком уровне, т.е. слишком много отображалось

Ответ 2

... ноль, чтобы обозначить пустой список...

потому что 0==() был смайлик порнографии с 1958 года.

Теперь вы знаете.

Ответ 3

Оригинальный спецификатор Fortran III, технический документ, распространенный зимой 1958 года, описывает некоторые очень явные дополнения к языку Fortran II, включая... встроенную сборку.

PDF здесь

Тантализирующее описание "дополнений" следует:

Extract from I.,Ziller, Additions to Fortran II, 1958

Некоторый код табу

Pornographic programming using the un-released Fortran III

Загадочно, Fortran-III был никогда не выпускался публике (см. раздел 5.), но распространялся ограниченным образом, прежде чем тихо исчезать.

Ответ 5

Я думаю, что это смешение числовых и логических значений, которые все еще можно увидеть в популярных конструкциях, возможно, возникших в Fortran, например while (1). Существует множество "умных" алгоритмов C, которые полагаются на факт, что 0 является ложным, а каждое другое значение не является.

То же самое применимо в целом к ​​вызовам API, как в POSIX или Linux, некоторые из которых возвращают 0 при неудаче, а некоторые -1 (есть правило, когда применять, который, но это просто фольклор, так часто он сломан). Учитывая тот факт, что во времена Маккарти эти вещи еще не были разработаны, вы можете увидеть его "пророческую" силу даже здесь.