Search code examples
lispterminologyhistory

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?


Solution

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