史上最奇葩的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
相關文章
- 20 種最奇怪的程式語言
- 哪種程式語言最熱門?
- 哪種程式語言的開發者最幸福?
- Top 5 榜單:最容易學習和最難掌握的程式語言
- 哪種程式語言最適合產品經理?
- 2020年春天故事之巧遇史上最奇葩SAP使用者
- C語言:一種高效、易學的程式語言C語言
- c語言模擬Python的命名引數C語言Python
- 程式設計師都不知道的5種將死的程式語言程式設計師
- 對比程式語言的四種錯誤處理方法,哪種才是最優方案?
- 20 年沉浮,《模擬人生》 如何成為了史上最成功的遊戲 IP?遊戲
- Dice :這 5 種程式語言未來可能各自成王
- 運維要不要學程式設計?哪種程式語言最賺錢?運維程式設計
- 初學者,哪幾種程式語言最值得你去學習?
- 部署Go語言程式的N種方式Go
- 幾種常用程式語言的區別
- C語言實戰!!!:商城系統模擬C語言
- 2022 年程式語言趨勢:Swift、Kotlin 熱度持續增長,收入最高的 5 種程式語言竟是它們SwiftKotlin
- 2020 年最牛逼的 10 門程式語言
- java是最值得學習的程式語言嗎?Java
- 作業系統:程式狀態轉換模擬,C語言實現作業系統C語言
- 用ABAP模擬JavaScript的柯里化語言特性(Curry)JavaScript
- 22種程式語言新年快樂
- PAT-B 1059 C語言競賽【模擬】C語言
- 大語言模型能用作世界模擬器嗎?模型
- ASP程式中常使用的幾種指令碼語言指令碼
- Java是一種廣泛使用的程式語言Java
- 用C語言找到所有的鞍點~C語言
- NOIP模擬賽(10.17):語言,色球,斐波,偶數
- 2020入行IT學什麼?看資料這5種程式語言必火!
- 自己用C語言寫的一個模擬退火演算法C語言演算法
- ChatGPT模擬Go語言面試 (一次小的測試)ChatGPTGo面試
- c語言與字串相關的庫函式的模擬實現C語言字串函式
- 定了!2020年,6種將死的程式語言!
- 各種不同領域的程式語言一覽表
- 身為程式設計師碰到最奇葩的需求是怎樣的?程式設計師
- java語言屬於哪種語言Java
- 史上最全單連結串列的增刪改查反轉等操作彙總以及5種排序演算法(C語言)排序演算法C語言
- 選Python還是選Java?2020年,頂尖程式設計師最應該掌握的7種程式語言PythonJava程式設計師