圖靈焦油坑
圖靈焦油坑(英語:Turing tarpit)是指功能過於靈活而難以學習和使用的程序設計語言或計算機接口。[1] 1982年艾倫·佩利在《編程警句》中發明了這一術語:[2]
54. 留心圖靈焦油坑,在其中任何事情都是可能的但沒有什麼有趣的事是容易的。
凡是圖靈完備的語言都可以寫任意程序,因此不嚴格地來說各種編程語言是等價的。但理論上的能力在實踐中的實用性往往並不相同。圖靈焦油坑是指一個非常簡單的抽象機,實現中的各種細節都要求用戶自行處理。[3]它的另一個極端是幾乎不需要人為干涉就能執行所有任務的接口,但一旦需求輕微改變就需要調整源代碼。
像Brainfuck這樣深奧的編程語言就被稱為圖靈焦油坑[4]。它們雖然是圖靈完備語言,但故意只實現最少的功能。使用這些語言是一種娛樂數學:設計最簡單的基本程序都極為困難,但數學上圖靈等價的語言。[5]
參見
參考文獻
- ^ Turing Tarpit. c2.com. 10 March 2010 [7 November 2012]. (原始內容存檔於2013-01-20).
- ^ Perlis, A. Epigrams on Programming. ACM SIGPLAN Notices (Yale University). September 1982, 17 (9): 7–13 [28 August 2015]. doi:10.1145/947955.1083808. (原始內容存檔於2015-03-22).
- ^ Exploring the depths of a Turing tarpit. practicingruby.com. 7 February 2013 [2019-05-27]. (原始內容存檔於2012-02-04).
- ^ Chandra, V. Geek Sublime: The Beauty of Code, the Code of Beauty. Graywolf Press. 2014 [28 August 2015]. ISBN 9781555973261. (原始內容存檔於2017-01-13).
- ^ Esoteric Topics in Computer Programming, Cat's Eye Technologies, Canada. ("They present the programmer with the challenge, intrigue, and entertainment of looking at known algorithms and concepts in a whole new light.")
進一步閱讀
- G. Fischer, A.C. Lemke, "Constrained Design Processes: Steps Toward Convivial Computing", Technical Report CU-CS-369-87, 科羅拉多大學波德分校, USA.
- E.L. Hutchins, J.D. Hollan, D.A. Norman, "Direct Manipulation Interfaces". In User Centered System Design. New Perspectives on Human–Computer Interaction (1986).
- Esolangs, Turing Tarpit(頁面存檔備份,存於網際網路檔案館).