Can you summarize the following document?
        
  最早、且仍是深奧語言典型案例的是,由唐·伍茲和詹姆斯·里昂在1972年設計,意在於創造一種與他們知道的語言所不同的語言。它戲仿了當時通用的語言,如Fortran、COBOL和彙編。  INTERCAL的早期實現嘗試是在IBM System/360和一臺身份不明的雅達利電腦(可能是Atari 2600)上進行的,但沒有成功。多年來,INTERCAL僅僅只存在於INTERCAL手冊中。1990年Unix中C語言的實現復興了這個語言,刺激了深奧計算機語言的設計熱潮。  1992年,Wouter van Oortmerssen建立了一個小的面向堆疊的程式語言FALSE,它的語法設計成本身就能使程式碼混淆、混亂,並且難以閱讀。值得注意的是,它有一個只有1024位元組的編譯器。這啟發了Urban Müller建立一個更小的語言,也就是現在著名的brainfuck,其中只包括了八個可識別字元。它與Chris Pressey的Befunge(類似FALSE,但有一個二維的指令指標)一道,成為現今最為廣泛支援的深奧程式語言。這些都是最小化圖靈焦油坑、和多餘的語言混淆功能的典型例子。brainfuck的極小化設計兼具了優雅和純淨;實際上它與圖靈機P"系列有關。

  

  圖靈焦油坑(Turing tarpit)具有圖靈完備性的程式語言,但它的指令、運算元或等效物件非常少。其中包括brainfuck(8個指令,0個運算元),單一指令計算機(1個指令,2至3個運算元)和Thue(1個指令,2個運算元)。

  Turning tarpit是有狀態編碼的圖靈焦油坑,即語言中的命令用於從一個有限的範圍內選擇操作,然後將這些操作應用到程式的當前狀態中。這樣的例子包括reMorse、Whirl,也許還包括。

  一種編寫程式的方式,使得程式碼中的每一個子串:  注意每一個單一的指令總是包含兩個連續的階段:選擇一個操作,並執行它。操作列表可能是靜態的——如reMorse或THRAT,或動態的——如reMorse4ever。  下面是一個reMorse或THRAT的例子:

  程式語言的範型可以分為若干類別,這些類別可以用來大致瞭解特定語言的操作方式。其中包括命令式語言,如brainfuck,其指令描述瞭如何修改資料;函式式語言,如Unlambda,其中的資料和程式碼都或多或少地可交換,而程式的執行是通過重複迭代呼叫函式實現的;和重寫語言,如Thue,其中可以使用變換函式使狀態初始化。

  funge是一類深奧的程式語言,其程式是基於度量空間中的座標系的(通常為笛卡爾座標系,但不一定是)。執行時,通過在程式空間中通過移動指令指標(用一個位置向量表示當前執行的指令),以確定空間中的點,從而執行指令。不同的指令指示了指令指標的移動方向,並因此決定指令的執行順序。  目前,這些語言行為的官方標準是Funge-98規範。這個規範是Befunge語言——一個有二維環面拓撲結構的語言——語義的一個概括。嚴格遵守這個標準的語言有時也被稱為"funges",如Unefunge(一維)和Trefunge(三維),而更多有顯著差異的“遠親”被稱為"fungeoids",如Wierd。

  對於確定性語言,如果給定程式的當前狀態,則總是可以預測它的下一個狀態。但非確定性語言就不是這樣。大多數的語言都是確定性的,但某些語言提供了一個內建的隨機指令,例如Befunge。此外,有些語言,如Java2K只有隨機指令。因此,即使編一個像有可靠輸出這樣簡單的程式,往往都是一項艱鉅的任務。  非確定性語言可以用來搜尋大範圍空間,例如對於語法,窮舉搜尋是不切實際的。隨機文字生成器,例如the Dada Engine和rmutt都是非確定性語言的例子。  更神奇的是,不確定性演算法已經用於了超計算的理論研究中。

  在網際網路上,有一個規模小、但有活力的社群,聚集了使用和設計語言的愛好者,目前主要圍繞著Esolang wiki進行(見下文)。  esolang社群偶爾會活躍,討論的範圍從爭論某個語言是否圖靈完備,到如何在程式設計環境中,將形象化的數學概念弄得抽象和難理解。有一個郵件列表,但幾乎廢棄不用,大多數時候是在wiki或在IRC上討論。  圖靈完備性是一個熱門的討論話題,因為語言的圖靈完備性絕不是一眼就能看出的,而且往往需要證明方法上的飛躍才能解決。新語言和新功能不斷被創造出來,因此,證明圖靈完備性始終是一個挑戰。  程式語言愛好者的另一個相關追求是混淆程式碼。

  下面是一些深奧的語言的典型示例: ///是一門由坦納斯·韋特(Tanner Swett)在2008年發明的程式語言。該程式語言只含有一個操作符——“/”,功能是替換字串。  Hello World程式示例:  稍微複雜的Hello World:  在上列程式碼中,第一次出現的“ world! world!” 先被替換為“Hello,”,得到了“Hello, world!”。隨後的程式碼的功能為列印。

  Befunge類語言允許使用程式碼,讓指令指標在多個維度中漫遊。例如,下面的程式將“Hello World”字元以相反的順序壓入棧,然後通過指令[>]、[:]、[v]、[_]、[,]和[^]以順時針方向迴圈,並在迴圈中列印字元。

  二元Lambda演算是從演算法資訊理論的角度設計的,以便在最少的語句意義下寫出儘可能密集的程式碼。它有一個29位元組的自直譯器,一個21位元組的素數篩選器,和一個112位元組的Brainfuck直譯器。

  Brainfuck的語言設計極為精簡,並且能輕易寫出混亂的程式碼。它的程式中只有8個不同的字元。例如,下面的程式輸出“Hello World”:

  Chef是一種面向堆疊的程式語言,由David Morgan-Mar設計,目的是使程式看起來像菜譜。程式中包括標題、列表中的變數和值,和操作堆疊的指令列表。儘管首次提出時,它的設計原則是“程式菜譜不僅應能產生有效的輸出,還能以此方便地準備美味的食物”,然而,如果真按大部分程式中原料的組合和數量,則會做出難以下嚥的食物(如果有的話)。下面的程式是一個例外,能做出Hello World巧克力醬蛋糕:  雖然它讀起來像是糟糕的機器翻譯,其中還有一些不甚清楚的指示,但按照這個配方的確可以做出巧克力醬蛋糕。

  FALSE是一種面向堆疊的程式語言,有單字元命令和變數。例如,3+1的結果可以通過執行(λ x → x + 1)(3)得出:codice_1

  INTERCAL是“縮寫無法發音的編譯器語言”(Compiler Language With No Pronounceable Acronym)的簡稱。

  JSFuck(或為了避諱髒話寫作JSF*ck)是一種深奧的JavaScript程式設計風格。以這種風格寫成的程式碼中僅使用codice_2、codice_3、codice_4、codice_5、codice_6和codice_7六種字元。與其他深奧程式語言不同的是,以JSFuck風格寫出的程式碼不需要另外的編譯器或直譯器來執行,無論瀏覽器或JavaScript引擎中的原生JavaScript直譯器皆可直接執行。

  LOLCODE被設計為類似lolcat的說話方式。以下是“Hello World”的例子:

  Malbolge(地獄的第8圈)被設計為最困難和最深奧的程式語言。

  單一指令計算機是一種只有一個操作的機器語言。這實際上是一類語言,因為對於任何給定的操作,都可以定義這樣的語言。

  Piet是由David Morgan-Mar設計的,這個語言的程式是點陣圖,看起來像抽象藝術。編譯器由一個“指標”引導,在影象中從一個色塊移動到下一個。指標移出一個區域時執行一個操作。  20種顏色有指定的行為:18種“彩”色,依6步色調週期和3步亮度週期排序;黑色和白色未排序。當由一種“彩”色進入到另一種時,執行的操作由色調和亮度的變化數確定。黑色不能進入,當指標試圖進入一個黑色的區域時,將會改變選擇下一個塊的規則。如果所有可能的規則都嘗試過了,則程式終止。影象邊界以外的地方也被視為黑色。白色不執行操作,但允許指標“通過”。20種指定以外的顏色行為由編譯器或直譯器指定。  變數以有符號整數儲存在記憶體中的單一堆疊內。大多數操作是在這個堆疊上進行的,其他操作則可以在棧上進行輸入/輸出,或告訴編譯器移動指標的規則。  Piet是以荷蘭畫家皮特·蒙德里安(Piet Mondrian)命名的。原定的名稱"Mondrian"已經被佔用了。

  Shakespeare語言(SPL)的目的是使程式看起來像莎士比亞的戲劇。例如下面的語句宣告瞭程式中的一個點,可以通過一條GOTO語句轉到:codice_8。

  Whitespace語言只使用空白字元(空格、製表符和回車),並忽略所有其他字元。這與傳統語言不區分不同的空白字元、不區分空格和製表符相反。這個特性還允許Whitespace程式隱藏在其他語言程式的原始碼中,例如C。

  Chicken語言只有“chicken”一個關鍵字。例如下面的程式能輸出“Hello,world!”。
深奧的程式語言(Esoteric programming language,有時簡寫為Esolang)是一類程式語言,它們的設計被用於測試計算機語言設計的極限,作為一個概念的證明,或僅僅是一個玩笑。"esoteric"將它們與開發人員真正用於編寫軟體的語言區別開來。通常情況下,Esolang的創作者通常並不打算讓它成為主流程式語言,儘管如此,一些深奧的功能如視覺空間語法,啟發了在藝術中的實際應用。這種語言在黑客和愛好者之間通常較流行。