史上最奇葩的5種程式語言,有的甚至模擬奶牛
【編者按】本文作者為 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
相關文章
- C語言模擬試題5C語言
- 20 種最奇怪的程式語言
- 哪種程式語言最流行?
- 哪種程式語言的開發者最幸福?
- 5種將死的程式語言
- 哪種程式語言最熱門?
- 如何掌握所有的程式語言
- 最‘乾淨’的程式語言——空白程式語言
- 最適宜初學者學習的幾種程式語言
- 提交中的罵聲:哪種程式語言最遭罵?
- C語言模擬試題1C語言
- C語言模擬試題2C語言
- C語言模擬試題3C語言
- C語言模擬試題4C語言
- C語言模擬試題6C語言
- 簡單機器語言的模擬 (轉)
- 最讓程式設計師感到崩潰的10種程式語言程式設計師
- Top 5 榜單:最容易學習和最難掌握的程式語言
- 20 年沉浮,《模擬人生》 如何成為了史上最成功的遊戲 IP?遊戲
- 程式語言擬人化
- 哪種程式語言最熱門?日本新創最愛PHP、Ruby人才PHP
- 王垠:如何掌握所有的程式語言
- 哪種程式語言最適合產品經理?
- 5種你可能從未聽說過的程式語言
- GitHub 上最流行的程式語言Github
- C語言中史上最愚蠢的BugC語言
- 最喜歡與最討厭的程式語言
- C語言:一種高效、易學的程式語言C語言
- C語言實戰!!!:商城系統模擬C語言
- 關於c語言模擬c++的多型C語言C++多型
- 對比程式語言的四種錯誤處理方法,哪種才是最優方案?
- 初學者,哪幾種程式語言最值得你去學習?
- 最值得你學習的程式語言
- 程式設計師都不知道的5種將死的程式語言程式設計師
- 我眼中的各種程式語言
- 12 種程式語言的起源故事
- (C語言)簡單明瞭的 陣列模擬棧+ (C++)陣列模擬棧C語言陣列C++
- C語言上機測試模擬題-1C語言