天天看點

史上最奇葩的5種程式設計語言,有的甚至模拟奶牛

但是,也的确有些難到極緻的程式設計語言。這些語言被稱為極品程式設計語言。創造它們的原因通常是為了測試程式設計語言設計的臨界,或者隻是一個玩笑。好消息是,它們永遠不會成為主流,是以你不需要學習它們!

閑話少說,最難的(或最怪異的?)程式設計語言是……

brainf*ck由urban müller在1993年建立的, 目的是為amiga os 2.0版本打造使用最小的編譯器的語言。

brainf ck主要操縱記憶體單元數組,此數組也被稱為紙帶(the tape),被初始化為0。brainf ck隻提供了8個指令。

8個指令為 ><+-.,[]

“hello world” code looks like this:

其“hello world”代碼是這樣的:

<a href="https://esolangs.org/wiki/brainfuck">參考閱讀</a>

對。就是母牛的cow.

cow程式設計語言設計時充分考慮了母牛的想法。鑒于母牛的詞彙有限,是以隻包含了它們僅有的詞彙。是以,所有指令都是“moo”的變體,恰好是母牛能了解的唯一詞彙。

其他非指令的詞彙或符号則被完全忽略。是以,空格可有可無,換行符也可有可無。是以,注釋cow程式非常簡單,隻要不使用任何嵌入指令的詞彙就行了。

<a href="https://bigzaphod.github.io/cow/">參考閱讀</a>

全稱為the compiler language with no pronounceable acronym,縮寫為intercal。表達式看起來類似線路噪音。而指令構造會讓你抓狂,大笑,甚至大罵。

<a href="https://en.wikipedia.org/wiki/intercal">參考閱讀</a>

釋出于2003年4月1日,大多數人認為這是一個愚人節玩笑;但它不是。在whitespace語言中,隻可使用空格,制表符和換行符。whitespace解釋器忽略任何其他非空白字元。不過,有趣之處在于,whitespace程式可以輕易隐藏在其他語言的空白符中。

<a href="https://en.wikipedia.org/wiki/whitespace_%28programming_language%29">參考閱讀</a>

chef是一個基于棧的語言,程式看起來就像菜單。

根據chef的首頁,chef的設計原則是:

程式食譜不僅要生成有效的輸出,也要容易準備,并且美味。

食譜可以根據不同的預算調節。

食譜是公制的,但也可以使用傳統烹饪度量工具,比如杯子和湯匙。

其“hello world”是這樣的!