我們平時都在談論 c、c ++、Java、Python 等編程語言,其實還有些語言不僅對於大多數軟件開發人員來說都很難,而且幾乎是不可理解的。
這些語言被稱為深奧難懂的編程語言(或晦澀語言)。
晦澀語言並不是為普通的軟件開發而設計的。它們的設計目的是作為概念證明,或只是開個玩笑。
這裡列出五種最難懂的晦澀語言的清單。我嘗試用每種語言執行了“ Hello World! ”程序,非常有趣。
Malbolge
Malbolge 由 Ben Olmstead 於 1998 年發明。這種晦澀語言被認為是最複雜的編程語言。
據說 Malbolge 編程語言的作者從未使用該語言編寫任何程序。Olmstead 發明該語言近兩年後,Malbolge 中的 hello world 代碼才出現。
這是在 Malbolge 中打印“ Hello World! ”的代碼段。
這是輸出:
由作者提供—代碼在 tio.run 執行
INTERCAL
Jim Lyon 和 Don Woods 於 1972 年開發了 INTERCAL,它是一種詼諧有趣的編程語言。
它剛開始的名稱是“ 沒有可發音首字母縮略詞的編程語言 ”。
INTERCAL 設計了許多讓程序員感到沮喪的特性。
例如:它使用修飾符“PLEASE”。如果代碼中不經常使用“PLEASE”,則編譯器可以拒絕該代碼。它將程序視為“不夠禮貌”。如果修飾符“PLEASE”被使用了太多次,則編譯器也將拒絕該代碼,認為其“過於禮貌”。
這是在 INTERCAL 中打印“ Hello,World! ”的代碼段。
這是輸出:
由作者提供—代碼在 tio.run 執行
Brainfuck
Brainfuck 由 Urban Muller 於 1993 年開發。該語言是為了讓程序員消遣娛樂而發明的。
該名稱本身暗示着該編程語言對於任何程序員而言都非常難以理解。
整個編程語言僅有 八個不同的字符 ,該語言用這八個字符編寫所有代碼。Muller 開發的原始編譯器僅使用 296 個字節。
這是在 brainfuck 中打印“ Hello,World! ”的代碼段。
這是輸出:
由作者提供—代碼在 tio.run 執行
COW
COW 由 Sean Heber 於 2003 年開發。看到其 hello world 代碼後,您將了解為什麼這種語言叫做“ COW”。
在難度級別上,COW 與 Brainfuck 相當。與 Brainfuck 相比,它還多了四個命令,即整個語言中有 12 個命令。
這是在 COW 中打印“ Hello,World! ”的代碼段。
這是輸出:
由作者提供—代碼在 tio.run 執行
Whitespace
Whitespace 由 Chris Morris 和 Edwin Brady 在杜倫大學開發。該語言發佈於 2003 年愚人節。
使用該語言編寫任何程序都依賴於 空格、製表符 和 換行符 。Whitespace 的解釋器將忽略非空格字符,並將其視為代碼注釋。
這是在 Whitespace 中打印“ Hello,World! ”的代碼段。
在下面的代碼中,每個 空格、製表符 或 換行符 前面都帶有注釋“S”、“T”或“L”。
這是輸出:
由作者提供—代碼在 tio.run 執行
還有很多類似的 晦澀語言 ,你可以自己去探索一番。
其實我們在選擇編程語言的時候,一定要慎重選擇,最開始筆者並不建議選擇當前的熱門語言,而是應該從長遠來看,既然選擇了編程,那麼如何才能將自己的根基打造的更加的穩固,以後更能夠長遠的發展,而不是成為了當前熱門語言的碼農!