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

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

6 人贊了文章

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

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

本文選擇了五種語言,這些語言難以理解,它們讓傳統的程序員感到是噩夢。

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 日(愚人節)發布。


推薦閱讀:

TAG:編程思想 | 編程語言 | 計算機科學 |