世界上最難的5種編程語言
每個(gè)程序員都熟悉許多編程語言。許多編程語言都是高級(jí)的,它們的語法是人類可讀的。然而,也有一些低級(jí)語言,對(duì)于一個(gè)人來說,讀起來很困難,但是可以理解。然而,您是否遇到過一種既不可讀又不可理解的編程語言?
有一些編程語言被稱為“深?yuàn)W編程語言”或“esolang”。這些語言被設(shè)計(jì)用來測試計(jì)算機(jī)編程語言設(shè)計(jì)的邊界。這些類型的語言不考慮可用性,目的是去除和替換常規(guī)語言特性。這種語言在黑客和業(yè)余愛好者中很受歡迎。
我選擇了五種語言,它們讓傳統(tǒng)的程序員感到是噩夢。這些語言難以消化,難以理解。
最難的5種編程語言
1.Malbolge
Malbolge是最難的編程語言之一。事實(shí)上,在它誕生后,***個(gè)Malbolge程序花了2年時(shí)間才完成,現(xiàn)在想想它有多困難?據(jù)說Malbolge編程語言的作者從來沒有寫過一個(gè)Malbolge程序。它是由Ben Olmsted在1998年創(chuàng)建的一種公共領(lǐng)域的深?yuàn)W的編程語言。
下面是用Malbolge語言編寫的hellow world程序:
- (=<`#9]~6ZY32Vx/4Rs+0No-&Jk)”Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:’8dc
2.Cow
Cow編程語言在2013年初發(fā)布。它是根據(jù)牛的思想設(shè)計(jì)的。牛掌握的詞匯技能有限,因此開發(fā)人員記錄了它們說出的詞匯。指令語言包含不同的“哞”變體,即“哞”、 moO, MoO, mOo, mOO, Moo等等。它是一種區(qū)分大小寫的語言,在語言指令之間的其他單詞和符號(hào)都被忽略。
下面是用 Cow 語言編寫的hellow 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引入的一種深?yuàn)W的編程語言。這種語言配得上“Brainfuck”這個(gè)復(fù)雜而不尋常的語言名稱。語言由8個(gè)命令組成,程序是這些命令的序列。該語言有一個(gè)指令指針,它從***個(gè)命令開始并按順序執(zhí)行。
Brainfuck語言的八個(gè)指令是(每個(gè)符號(hào)是一個(gè)命令):< > + – . , [ ]。
下面是用 Brainfuck 語言編寫的hellow world程序:
- ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.——.——–.>+.>.
4.INTERCAL
INTERCAL是一種沒有縮略詞的編譯型語言。它也是唐·伍茲(Don Woods)和詹姆斯·m·里昂(James M. Lyon)創(chuàng)建的一種深?yuàn)W的編程語言。同時(shí),它諷刺了其它各種編程語言的各個(gè)方面。
下面是用 INTERCAL 語言編寫的hellow 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發(fā)明的另一種深?yuàn)W的編程語言。在這種語言中,空格字符(如空格、制表符和換行符)都具有含義。解釋器將忽略所有非空白字符。語言本身是一種基于堆棧的語言,程序運(yùn)行的虛擬機(jī)具有堆和堆棧。搞笑的的是,該語言在2003年4月1日(愚人節(jié))發(fā)布。
下面是用 Whitespace 語言編寫的hellow world程序: