你見過的最難的程式語言是什麼?

  • 2019 年 10 月 10 日
  • 筆記

每個程式設計師都熟悉許多程式語言。許多程式語言都是高級的,它們的語法是人類可讀的。然而,也有一些低級語言,對於一個人來說,讀起來很困難,但是可以理解。然而,您是否遇到過一種既不可讀又不可理解的程式語言?

有一些程式語言被稱為「深奧程式語言」或「esolang」。這些語言被設計用來測試電腦程式語言設計的邊界。這些類型的語言不考慮可用性,目的是去除和替換常規語言特性。這種語言在黑客和業餘愛好者中很受歡迎。

我選擇了五種語言,它們讓傳統的程式設計師感到是噩夢。這些語言難以消化,難以理解,可謂是最難的 5 種程式語言:

1.Malbolge

Malbolge 是最難的程式語言之一。事實上,在它誕生後,第一個 Malbolge 程式花了 2 年時間才完成,現在想想它有多困難?據說 Malbolge 程式語言的作者從來沒有寫過一個 Malbolge 程式。它是由 Ben Olmsted 在 1998 年創建的一種公共領域的深奧的程式語言。

下面是用 Malbolge 語言編寫的 Hello World 程式:

(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)」Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:』8dc

2.Cow

Cow 程式語言在 2013 年初發布。它是根據牛的思想設計的。牛掌握的辭彙技能有限,因此開發人員記錄了它們說出的辭彙。指令語言包含不同的「哞」變體,即「哞」、 moO, MoO, mOo, mOO, Moo 等等。它是一種區分大小寫的語言,在語言指令之間的其他單詞和符號都被忽略。

下面是用 Cow 語言編寫的 Hello World 程式:

MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOoMOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo MooOOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo  直到懸河千言匯入那句——  「愛你是我的壯舉。」  直到懸河千言匯入那句——  「愛你是我的壯舉。」  直到懸河千言匯入那句——  「愛你是我的壯舉。」  直到懸河千言匯入那句——  「愛你是我的壯舉。」  直到懸河千言匯入那句——  「愛你是我的壯舉。」  直到懸河千言匯入那句——  「愛你是我的壯舉。」  直到懸河千言匯入那句——  「愛你是我的壯舉。」  直到懸河千言匯入那句——  「愛你是我的壯舉。」

3.Brainfuck

Brainfuck 是 1993 年由 Urban Muller 引入的一種深奧的程式語言。這種語言配得上「Brainfuck」這個複雜而不尋常的語言名稱。語言由8個命令組成,程式是這些命令的序列。該語言有一個指令指針,它從第一個命令開始並按順序執行。

Brainfuck 語言的八個指令是(每個符號是一個命令):< > + – . , [ ]。

下面是用 Brainfuck 語言編寫的 Hello World 程式:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.——.——–.>+.>.

4.INTERCAL

INTERCAL 是一種沒有縮略詞的編譯型語言。它也是唐·伍茲(Don Woods)和詹姆斯·m·里昂(James M. Lyon)創建的一種深奧的程式語言。同時,它諷刺了其它各種程式語言的各個方面。

下面是用 INTERCAL 語言編寫的 Hello World 程式:

PLEASE DO ,1 <- #13

DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52

PLEASE READ OUT ,1 PLEASE GIVE UP

5.Whitespace

Whitespace 是由 Edwin Brady 和 Chris Morris 發明的另一種深奧的程式語言。在這種語言中,空格字元(如空格、製表符和換行符)都具有含義。解釋器將忽略所有非空白字元。語言本身是一種基於堆棧的語言,程式運行的虛擬機具有堆和堆棧。搞笑的的是,該語言在 2003 年 4 月 1 日(愚人節)發布。

下面是用 Whitespace 語言編寫的 Hello World 程式: