Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What did John McCarthy mean by *pornographic programming*?

In the History of Lisp, McCarthy writes :

The unexpected appearance of an interpreter tended to freeze the form of the language, and some of the decisions made rather lightheartedly for the ``Recursive functions ...'' paper later proved unfortunate. These included the COND notation for conditional expressions which leads to an unnecessary depth of parentheses, and the use of the number zero to denote the empty list NIL and the truth value false. Besides encouraging pornographic programming, giving a special interpretation to the address 0 has caused difficulties in all subsequent implementations.

What's he talking about?

like image 600
luser droog Avatar asked Dec 17 '11 18:12

luser droog


2 Answers

... zero to denote the empty list ...

because 0==() has been the emoticon for pornography since 1958.

Now you know.

like image 159
Trystan Spangler Avatar answered Nov 17 '22 18:11

Trystan Spangler


The fact that too many implementation details were leaking at a higher level, i.e. showing up too much

like image 20
Óscar López Avatar answered Nov 17 '22 18:11

Óscar López