文章根据topdesignmag.com上一篇《Top 13 Most Absurd Programming Languages》,整理编译而来。这是一个娱乐贴,不要去问这些编程语言到底有没有什么实用价值,可以让我们感叹一下神奇和开发者独特的思维,这就是实用价值。) n/ @3 d( O* {$ b* q. p
4 y% S* [. c& l* [# }3 S1.Lolcode) S, r, C6 x. i( r5 O3 i/ o8 Y! J% w
LOLCODE是一种建立在高度缩写的网络英语之上的编程语言,一般来说如果一个人能理解这种网络英语就能在未经训练的情况下读懂LOLCODE程序源代码。
# ^ w3 s1 H( A7 ]“Hello World” example:
; A% Z) E' }3 B! W+ SHAI
3 W2 X8 `/ t+ r: nCAN HAS STDIO?; Z2 m" a K* m( h- y6 e
VISIBLE “HAI WORLD!”
5 U* m+ z0 v/ z# Q4 ?2 y7 v8 j+ AKTHXBYE5 H& V; k6 m( E! x, I4 _; r
; J1 ?6 d3 g9 U# |) l" E2.Befunge* ^, s$ a. Z- L) v. M
Befunge这门语言由Chris Pressey在1993年创造,本意为设计一种尽量难编译的语言……结果马上出现了一批编译器。! f1 w/ b( p0 t! Z# F
“Hello World” example:
' N' l- Z |( P8 ^"dlroW olleH">:v
' e" L( I& i2 r0 F1 ^: s8 ?; W^,_@
7 W4 C( K5 e7 c" Y. P8 o
% v+ g/ ?/ ]( ^% Q6 v0 }2 g( k3.Brainfuck
( H1 S- K2 n4 tBrainfuck,是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf***,甚至被简称为BF。
9 M! ^5 Y G2 u, e2 q. J$ f9 {“Hello World” example:$ G0 s# A O2 |$ f9 L- h a: }
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++ 0 c/ D% I% \# }0 c- O5 M
..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
4 W& o E5 p6 R2 W/ k
! w1 z% |' f- J7 o* b/ ]3 }4 ^4.Chef0 d0 b5 l+ C% j j, g$ R: \
Chef的目标是让写程序看起来像菜谱0 f9 _: G2 s g9 z& F
“Hello World” example:' k6 U7 _! l; b6 X5 d/ X& x0 X
Put cinnamon into 2nd mixing bowl9 C8 D* i s% b( y4 b; s, h9 R
) h/ L$ o- k* a" m' {" C. s5.Piet
# ^* q$ t' x7 b1 G/ o9 b- H& lPiet是一种可视化的编程语言,其代码本身就是可视化的,像个位图。" r* g" {) D4 _- n6 x9 J
“Hello World” example:6 Y: B' ?2 Z; v+ b: N+ h0 K
4 K* s8 L2 { s+ \6.Shakespeare
5 h; v8 k) _- R3 r% @# FShakespeare编程语言让程序看起来像莎士比亚的剧本。
: ]1 [, o$ Z/ O“Hello World” example:
+ J4 F! @+ m0 @9 [; q# z[Enter Juliet]
4 e$ T. E9 i8 h, b1 o[Enter Romeo and Juliet]
9 ? b4 i5 {1 P[Exit Romeo]0 B3 x; j' g% X, j8 j$ m8 e9 b# c
[Exeunt Romeo and Juliet]& b8 K5 G( [) `2 b
[Exeunt]4 b4 P5 ^ _6 x
3 x% x' x1 l$ e, ?7.Whitespace1 g. I- `0 t. s) F1 w7 O
Whitespace只考虑空格的排版,而完全置那些非空格字符于不顾。
/ f _1 v. i, P5 D' G M* q# Q! SA part of “Hello World” example:
5 V: ]3 w1 i# R! \# R6 G* ~# V0 W! ^$ j$ i8 S7 B
8.INTERCAL
& l1 ?. K( n( X, v& l% Q' jINTERCAL,是“Compiler Language With No Pronounceable Acronym”的缩写,它讽刺了当时各种编程语言的很多方面,以及在20世纪60年代拟定的语言结构和注译。
| o* `" Z5 O: y2 F7 S6 U“Hello World” example:
# V- x3 Y0 J9 K9 ^% O" qDO ,1 <-#13 : t& P& r2 P0 _" B0 P& X) p
PLEASE DO ,1 SUB #1 <-#238, W1 b2 v3 v2 c8 y6 Y
DO ,1 SUB #2 <-#108. h' p* v5 z3 [& J% f- `* S
DO ,1 SUB #3 <-#1122 {2 k+ Y, e1 S+ J
DO ,1 SUB #4 <-#05 m2 Z+ ]0 d, S) v. d1 G9 i
DO ,1 SUB #5 <-#64
% o$ Z1 |( C2 v/ N" {" fDO ,1 SUB #6 <-#194
}+ t: [! _5 |- {' d$ S# }DO ,1 SUB #7 <-#483 w* ]' G) U" b8 F
PLEASE DO ,1 SUB #8 <-#224 [) e: Y5 A; {3 G6 v! \( G% v$ a
DO ,1 SUB #9 <-#248
7 `# y8 s; n0 z2 Z" t- ^DO ,1 SUB #10 <-#1684 j2 ^7 V: X' k9 o* f5 x0 K4 w5 N
DO ,1 SUB #11 <-#24" V5 @. w" l7 ^
DO ,1 SUB #12 <-#16
$ F$ _3 y+ M( X8 E/ ^* O8 D( i% }) jDO ,1 SUB #13 <-#1622 S$ Q& V7 [5 Z: H' v( k
PLEASE READ OUT ,1
4 ~# f) J- \4 h6 A* I6 T5 f$ VPLEASE GIVE UP/ | y# Y. E" ^% p+ X8 J+ O
d* r N; a! A. r( i A2 ]9.Malbolge
) r5 q6 D/ D! s- W8 S0 y( P) w' h. wMalbolge是BenOlmstead在1998年引进公共领域的深奥程序语言,名称来源于“the eighth circle of hell in Dante’s Inferno”,之后更名为Malbolge。它有着最难和最深奥的编程语言特点。但是,用一些技巧可以来理解它,可以由难化简。- Q. g, x. H6 ^9 ~
“Hello World” example:
* t' w7 B4 G# D- M4 U4 p('&%:9]!~}z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2Tnm-,jcL(I&%$#"
( [! E8 ? W1 S r; H. P`CB]V?TxuVtT`Rpo3NlF.Jh++FdbCBA@?]!~4XzyTT43Qsqq(Lnmkj"Fhg${z@
- W/ o2 S! c* o9 x7 S0 H& j0 Q! O. [, K, v6 A% b1 c
10.BIT
# E6 ^+ v; C" s: MBIT是一种程序语言,程序员在基本机器上拥有访问所有数据的全部权限。这是一款强大的编程工具。在高级程序语言中,一些专门功能是用更为复杂和抽象数据类型来设计的。该工具可以操作这些令人费解的数据。# ]# N' t5 B0 Y t+ L% l0 s
A part of “Hello World” example:8 K$ |* \# A/ X1 E6 r# u( |1 n7 Q
LINENUMBERZEROCODEPRINTZEROGOTOONELINENUMBERONECODEPRINTONEGOTOONEZEROLINENUMBE) J; C( a; J2 g" \) ]
RONEZEROCODEPRINTZEROGOTOONEONELINENUMBERONEONECODEPRINTZEROGOTOONEZEROZEROLINE8 \4 M$ g" }1 {. r$ W
NUMBERONEZEROZEROCODEPRINTONEGOTOONEZEROONELINENUMBERONEZEROONECODEPRINTZEROGOT* n P1 _. n* D( W% \4 s5 u
OONEONEZEROLINENUMBERONEONEZEROCODEPRINTZEROGOTOONEONEONELINENUMBERONEONEONECOD
9 |+ z. T1 [' _) }' ~% tEPRINTZEROGOTOONEZEROZEROZEROLINENUMBERONEZEROZEROZEROCODEPRINTZEROGOTOONEZEROZ
7 U9 f8 g6 n! j0 b7 R, Q4 [EROONELINENUMBERONEZEROZEROONECODEPRINTONEGOTOONEZEROONEZEROLINENUMBERONEZEROON7 w8 ~% A# w9 u7 K/ x, l
EZEROCODEPRINTONEGOTOONEZEROONEONELINENUMBERONEZEROONEONECODEPRINTZEROGOTOONEON, }$ J" h H' P' ~7 | `& p
EZEROZEROLINENUMBERONEONEZEROZEROCODEPRINTZEROGOTOONEONEZEROONELINENUMBERONEONE
; \) f. O$ i5 v. n5 QZEROONECODEPRINTONEGOTOONEONEONEZEROLINENUMBERONEONEONEZEROCODEPRINTZEROGOTOONE M1 [" [1 ?/ I7 y9 c& t- n7 \. o9 M- V
ONEONEONELINENUMBERONEONEONEONECODEPRINTONEGOTOONEZEROZEROZEROZEROLINENUMBERONE* k9 ], v$ l4 a7 E' d6 s
ZEROZEROZEROZEROCODEPRINTZEROGOTOONEZEROZEROZEROONELINENUMBERONEZEROZEROZEROONE
; i0 ~5 S0 F( ]+ N" A cCODEPRINTONEGOTOONEZEROZEROONEZEROLINENUMBERONEZEROZEROONEZEROCODEPRINTONEGOTOO
2 q+ @/ ]" @* O3 c3 }7 u: l2 M2 l9 P1 b3 k0 }' R5 f" a e
11.Ook!8 d# l& O6 M+ [6 P2 x% W0 }2 s
Ook! 与Brainfuck类似, 但用单词“Ook!”,“Ook.” 和“Ook?”代替。" ^/ Y5 `/ [4 i; r
“Hello World” example:
- J4 Q9 Z( O7 i3 Q& z( Y' \Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
8 d3 l! T# p7 a B- r% s- I; Y2 E COok. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.$ l' Z1 e2 n% W: o( S
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
. W; ?. G K' M4 E& K: d1 _/ eOok! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.* g$ \6 f0 b5 S* t1 j- [/ h& Q- J/ K
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?( [4 u6 D7 o) A* o
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.( e! {. j. A! K/ g5 P3 y8 [3 c
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.5 Z6 e" q' ~8 o* y6 z$ ?3 w/ @
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
" v5 x! ~5 ? o1 S! A' L1 ?Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
) M" x4 X5 F; p h0 OOok. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
8 p# R1 p+ v5 h% I7 X& x1 g( f3 AOok. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. h: c% M5 @. L% D
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.+ O9 r+ `: G9 ]% w3 E
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.+ [3 y+ q) S9 ~* }
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.7 G% s; Z" C) @7 V' f
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
, g; ]6 H% k* g1 I- XOok! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
8 x- m+ H' P8 Q/ {0 r: D- k ^Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!. w: t! Y4 G: D2 a' P- L
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
5 x" r4 ]- }4 P$ D$ V8 J) u5 I
3 m l+ q, |8 w# O12.ZOMBIE) I) n g" ^& X& c" P
ZOMBIE是专门为Necromancers设计的一款程序语言,ZOMBIE是Zombie-Oriented Machine-Being Inte*ceEngine的缩写。# X, C4 P' b3 R7 I, K5 }: J0 v A
“Hello World” example:3 v- L$ L; ?" ^+ T
HelloWorld is a zombie @7 _, y( f1 k0 u
summon( G8 F; L; v1 O a! K; Y
task SayHello
. Y' G6 K& a; Y7 W6 \1 F. C1 C2 p3 esay"Hello World!"
: I9 v5 M9 r) X: v8 W, i, |animate* U7 U9 v0 ?/ k. X
animate
& r3 ~) Y$ [2 \4 U& G$ G! H% _0 i: \
13.HQ9+
& N$ k' E% S- `" uHQ9+带有四个指令的joke语言。
5 C" n+ I9 o9 _7 _1 C4 uH: Print “hello,world”
) ?4 h% `7 i+ I) fQ: Print the program’s source code; ]! A' _! I: P/ }0 l( r" f7 z
9: Print the lyrics to “99 Bottles of Beer”
5 K4 M/ z, z) W. W: W6 W+: Increment the accumulator | i! G! T# J" s) |1 l" w g2 A6 T
9 }' w7 n! T, l% x' I13种最为荒谬的编程语言
; i8 X, [! w: v1 Y& F湖盟云防火墙& L( r5 F, V, W+ G# D' ?/ K5 J
5 ]$ i+ ?( p3 ^8 p |