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

OneAPM官方技術部落格發表於2016-06-12

【編者按】本文作者為 Deepak Karanth,主要介紹世上最怪異、最難用的5種程式語言。文章系國內 ITOM 管理平臺 OneAPM 編譯呈現。

最難學程式語言有哪些?很多人都用過Java,C,C++之類的程式語言編寫程式碼。再早幾年,很多人會使用Pascal,Fortran,COBOL等程式設計。在學習這些語言的過程中,會遇到足夠的挑戰,讓你抓狂。但是最終,當你投入足夠的時間和精力之後,一切也變得順利起來。

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

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

Brainf*ck

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”程式碼是這樣的:

++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++ ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

參考閱讀

COW

對。就是母牛的Cow.

COW程式語言設計時充分考慮了母牛的想法。鑑於母牛的詞彙有限,因此只包含了它們僅有的詞彙。因此,所有指令都是“moo”的變體,恰好是母牛能理解的唯一詞彙。

其他非指令的詞彙或符號則被完全忽略。因此,空格可有可無,換行符也可有可無。因此,註釋COW程式非常簡單,只要不使用任何嵌入指令的詞彙就行了。

MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO 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 MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo 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

參考閱讀

INTERCAL

全稱為The Compiler Language With No Pronounceable Acronym,縮寫為INTERCAL。表示式看起來類似線路噪音。而指令構造會讓你抓狂,大笑,甚至大罵。

INTERCAL還有許多其他特性,讓程式設計師很難接受:它使用“READ OUT”,“IGNORE”,“FORGET” 之類的宣告,“PLEASE”之類的修飾符。使用“PLEASE”時,若遭到編譯器的拒絕,原因一般有二:如果沒有經常使用“PLEASE”,該程式會被認為不夠禮貌,且會有提示資訊;如果使用得過於頻繁,則會被認為過分禮貌。

DO ,1 <- #13 PLEASE DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #108 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #194 DO ,1 SUB #7 <- #48 PLEASE DO ,1 SUB #8 <- #22 DO ,1 SUB #9 <- #248 DO ,1 SUB #10 <- #168 DO ,1 SUB #11 <- #24 DO ,1 SUB #12 <- #16 DO ,1 SUB #13 <- #162 PLEASE READ OUT ,1 PLEASE GIVE UP

參考閱讀

Whitespace

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

參考閱讀

Chef

Chef是一個基於棧的語言,程式看起來就像菜譜。

根據Chef的主頁,Chef的設計原則是:

  • 程式食譜不僅要生成有效的輸出,也要容易準備,並且美味。
  • 食譜可以根據不同的預算調節。
  • 食譜是公制的,但也可以使用傳統烹飪度量工具,比如杯子和湯匙。

其“Hello world”是這樣的!

Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1.

參考閱讀一參考閱讀二

其他語言……

其實,還有更多難到極致的奇怪語言。請訪問此處,獲得更多資訊!

本文系 OneAPM 工程師整理呈現。OneAPM 能為您提供端到端的應用效能解決方案,我們支援所有常見的框架及應用伺服器,助您快速發現系統瓶頸,定位異常根本原因。分鐘級部署,即刻體驗,效能監控從來沒有如此簡單。想閱讀更多技術文章,請訪問 OneAPM 官方技術部落格

本文轉自 OneAPM 官方部落格

原文地址:https://dzone.com/articles/most-difficult-and-strangest-programming-languages

相關文章