天天看點

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

我們平時都在談論 c、c ++、Java、Python 等程式設計語言,其實還有些語言不僅對于大多數軟體開發人員來說都很難,而且幾乎是不可了解的。

這些語言被稱為深奧難懂的程式設計語言(或晦澀語言)。

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

晦澀語言并不是為普通的軟體開發而設計的。它們的設計目的是作為概念證明,或隻是開個玩笑。

這裡列出五種最難懂的晦澀語言的清單。我嘗試用每種語言執行了“ Hello World! ”程式,非常有趣。

Malbolge

Malbolge 由 Ben Olmstead 于 1998 年發明。這種晦澀語言被認為是最複雜的程式設計語言。

據說 Malbolge 程式設計語言的作者從未使用該語言編寫任何程式。Olmstead 發明該語言近兩年後,Malbolge 中的 hello world 代碼才出現。

這是在 Malbolge 中列印“ Hello World! ”的代碼段。

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

這是輸出:

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

由作者提供—代碼在 tio.run 執行

INTERCAL

Jim Lyon 和 Don Woods 于 1972 年開發了 INTERCAL,它是一種诙諧有趣的程式設計語言。

它剛開始的名稱是“ 沒有可發音首字母縮略詞的程式設計語言 ”。

INTERCAL 設計了許多讓程式員感到沮喪的特性。

例如:它使用修飾符“PLEASE”。如果代碼中不經常使用“PLEASE”,則編譯器可以拒絕該代碼。它将程式視為“不夠禮貌”。如果修飾符“PLEASE”被使用了太多次,則編譯器也将拒絕該代碼,認為其“過于禮貌”。

這是在 INTERCAL 中列印“ Hello,World! ”的代碼段。

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

這是輸出:

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

由作者提供—代碼在 tio.run 執行

Brainfuck

Brainfuck 由 Urban Muller 于 1993 年開發。該語言是為了讓程式員消遣娛樂而發明的。

該名稱本身暗示着該程式設計語言對于任何程式員而言都非常難以了解。

整個程式設計語言僅有 八個不同的字元 ,該語言用這八個字元編寫所有代碼。Muller 開發的原始編譯器僅使用 296 個位元組。

這是在 brainfuck 中列印“ Hello,World! ”的代碼段。

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

這是輸出:

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

由作者提供—代碼在 tio.run 執行

COW

COW 由 Sean Heber 于 2003 年開發。看到其 hello world 代碼後,您将了解為什麼這種語言叫做“ COW”。

在難度級别上,COW 與 Brainfuck 相當。與 Brainfuck 相比,它還多了四個指令,即整個語言中有 12 個指令。

這是在 COW 中列印“ Hello,World! ”的代碼段。

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

這是輸出:

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

由作者提供—代碼在 tio.run 執行

Whitespace

Whitespace 由 Chris Morris 和 Edwin Brady 在杜倫大學開發。該語言釋出于 2003 年愚人節。

使用該語言編寫任何程式都依賴于 空格、制表符 和 換行符 。Whitespace 的解釋器将忽略非空格字元,并将其視為代碼注釋。

這是在 Whitespace 中列印“ Hello,World! ”的代碼段。

在下面的代碼中,每個 空格、制表符 或 換行符 前面都帶有注釋“S”、“T”或“L”。

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

這是輸出:

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

由作者提供—代碼在 tio.run 執行

還有很多類似的 晦澀語言 ,你可以自己去探索一番。

其實我們在選擇程式設計語言的時候,一定要慎重選擇,最開始筆者并不建議選擇目前的熱門語言,而是應該從長遠來看,既然選擇了程式設計,那麼如何才能将自己的根基打造的更加的穩固,以後更能夠長遠的發展,而不是成為了目前熱門語言的碼農!

如果你依然在程式設計的世界裡迷茫,不知道自己的未來規劃,亦或你想更好的提升你的程式設計能力,好好學習C/C++程式設計知識的話!那麼你很幸運~

C語言C++程式設計學習交流圈子,Q群1030652847【點選進入】微信公衆号:C語言程式設計學習基地

分享(源碼、項目實戰視訊、項目筆記,基礎入門教程)

歡迎轉行和學習程式設計的夥伴,利用更多的資料學習成長比自己琢磨更快哦!

程式設計學習書籍:

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace

程式設計學習視訊:

世界上最難的 5 種程式設計語言!C/C++竟不在其列,它們到底是誰?MalbolgeINTERCALBrainfuckCOWWhitespace