在History of Lisp,麥卡錫寫道:John McCarthy通過*色情節目*得到了什麼?
一個解釋的意外出現趨於凍結語言的形式,和一些決定的作出,而輕鬆愉快的``遞歸函數......「」紙後來證明不幸。這些包括用於條件表達式的COND表示法,其導致不必要的括號深度,並且使用數字0來表示空列表NIL和真值false。除了鼓勵色情節目以外,對地址0給予特別的解釋在所有後續的實施中造成了困難。
他在說什麼?
在History of Lisp,麥卡錫寫道:John McCarthy通過*色情節目*得到了什麼?
一個解釋的意外出現趨於凍結語言的形式,和一些決定的作出,而輕鬆愉快的``遞歸函數......「」紙後來證明不幸。這些包括用於條件表達式的COND表示法,其導致不必要的括號深度,並且使用數字0來表示空列表NIL和真值false。除了鼓勵色情節目以外,對地址0給予特別的解釋在所有後續的實施中造成了困難。
他在說什麼?
太多的實現細節都處於較高的水平滲漏,即顯示了太多
也許這是他談論null references: the billion dollar mistake(T.霍爾)的方式。
這可能是其中的一部分,但我希望有一個更接近1958年的例子(本文中討論的時間)。 –
,我認爲它是關於混合數字和邏輯值,它仍然可以在流行的結構可以看到的事實,可能起源於Fortran,如while (1)
。有很多「聰明」的C算法,依賴於這樣一個事實,即0是錯誤的,而其他每個值都不是。
這同樣適用於API調用,就像在POSIX或Linux內核中一樣,其中一些在失敗時返回0,而另一些則返回0(有一個經驗法則,什麼時候應用哪個,但它只是民間傳說,它經常被打破)。考慮到這個事實,在麥卡錫時代,這些事情還沒有發展起來,你甚至可以在這裏看到他的「預言」權力。
...零表示空列表...
,因爲自1958年以來
現在你知道0==()
一直是色情的表情。
非常好,最有趣的SE帖子之一。另見[this](http://math.stackexchange.com/a/74348/86776),[this](http://math.stackexchange.com/a/54568/86776)和[this](http: //math.stackexchange.com/questions/689619/how-to-find-the-equation-of-one-curve-in-xy-plan-which-satisfies-such-functions)。 :-) – mvw
最初的Fortran III規範文檔是1958年冬季發佈的一篇技術文章,它描述了Fortran II語言的一些非常明確的補充,包括...內聯彙編。
的PDF是here
的 「補充」 誘人的說明如下:
一些忌諱代碼是
神祕地的Fortran-III是never released to the public (see section 5.),但以有限的方式傳播b在安靜地消失之前。
優秀。時間的尼克! –
哇謝謝!我的第一個賞金arrr –
不客氣。感謝您挖掘它!我即將讓這筆賞金到期。 –
那麼*色情程序設計*會是任何超出其正確語義級別的代碼,如內聯程序集? –
這似乎是有道理的:使用*親密知識*的代碼。 –
我很喜歡......「揭露你的私生活」 – csauve