Что Джон Маккарти имеет в виду * порнографическим программирование *? - PullRequest
24 голосов
/ 17 декабря 2011

В Истории Лиспа МакКарти пишет:

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

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

Ответы [ 5 ]

20 голосов
/ 29 декабря 2011

... ноль для обозначения пустого списка ...

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

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

18 голосов
/ 17 декабря 2011

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

9 голосов
/ 30 декабря 2011

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

PDF - здесь

Дразнящее описание «дополнений» следующее:

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

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

Pornographic programming using the un-released Fortran III

Таинственным образом, Фортран-III никогда не был выпущен для публики (1017 *) (см. Раздел 5). , но распространялся ограниченным образом, прежде чем тихо исчезнуть.

6 голосов
/ 23 декабря 2011

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

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

6 голосов
/ 17 декабря 2011

Возможно, это был его способ говорить о нулевых ссылках: ошибка в миллиард долларов (Т. Хоар).

...