摘要:編者按本文作者為,主要介紹世上最怪異最難用的種編程語言。這些語言被稱為極品編程語言。創(chuàng)造它們的原因通常是為了測試編程語言設(shè)計的臨界,或者只是一個玩笑。就是母牛的編程語言設(shè)計時充分考慮了母牛的想法。
【編者按】本文作者為 Deepak Karanth,主要介紹世上最怪異、最難用的5種編程語言。文章系國內(nèi) ITOM 管理平臺 OneAPM 編譯呈現(xiàn)。
最難學(xué)編程語言有哪些?很多人都用過Java,C,C++之類的編程語言編寫代碼。再早幾年,很多人會使用Pascal,F(xiàn)ortran,COBOL等編程。在學(xué)習(xí)這些語言的過程中,會遇到足夠的挑戰(zhàn),讓你抓狂。但是最終,當(dāng)你投入足夠的時間和精力之后,一切也變得順利起來。
但是,也的確有些難到極致的編程語言。這些語言被稱為極品編程語言。創(chuàng)造它們的原因通常是為了測試編程語言設(shè)計的臨界,或者只是一個玩笑。好消息是,它們永遠(yuǎn)不會成為主流,所以你不需要學(xué)習(xí)它們!
閑話少說,最難的(或最怪異的?)編程語言是……
Brainf*ckBrainf*ck由Urban Müller在1993年創(chuàng)建的, 目的是為Amiga OS 2.0版本打造使用最小的編譯器的語言。
Brainf ck主要操縱內(nèi)存單元數(shù)組,此數(shù)組也被稱為紙帶(the tape),被初始化為0。Brainf ck只提供了8個指令。
8個指令為 ><+-.,[]
“Hello world” code looks like this:
其“Hello world”代碼是這樣的:
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++ ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
參考閱讀
COW對。就是母牛的Cow.
COW編程語言設(shè)計時充分考慮了母牛的想法。鑒于母牛的詞匯有限,因此只包含了它們僅有的詞匯。因此,所有指令都是“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。表達(dá)式看起來類似線路噪音。而指令構(gòu)造會讓你抓狂,大笑,甚至大罵。
INTERCAL還有許多其他特性,讓程序員很難接受:它使用“READ OUT”,“IGNORE”,“FORGET” 之類的聲明,“PLEASE”之類的修飾符。使用“PLEASE”時,若遭到編譯器的拒絕,原因一般有二:如果沒有經(jīng)常使用“PLEASE”,該程序會被認(rèn)為不夠禮貌,且會有提示信息;如果使用得過于頻繁,則會被認(rèn)為過分禮貌。
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發(fā)布于2003年4月1日,大多數(shù)人認(rèn)為這是一個愚人節(jié)玩笑;但它不是。在Whitespace語言中,只可使用空格,制表符和換行符。Whitespace解釋器忽略任何其他非空白字符。不過,有趣之處在于,Whitespace程序可以輕易隱藏在其他語言的空白符中。
參考閱讀
ChefChef是一個基于棧的語言,程序看起來就像菜譜。
根據(jù)Chef的主頁,Chef的設(shè)計原則是:
程序食譜不僅要生成有效的輸出,也要容易準(zhǔn)備,并且美味。
食譜可以根據(jù)不同的預(yù)算調(diào)節(jié)。
食譜是公制的,但也可以使用傳統(tǒng)烹飪度量工具,比如杯子和湯匙。
其“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 工程師整理呈現(xiàn)。OneAPM 能為您提供端到端的應(yīng)用性能解決方案,我們支持所有常見的框架及應(yīng)用服務(wù)器,助您快速發(fā)現(xiàn)系統(tǒng)瓶頸,定位異常根本原因。分鐘級部署,即刻體驗,性能監(jiān)控從來沒有如此簡單。想閱讀更多技術(shù)文章,請訪問 OneAPM 官方技術(shù)博客。
本文轉(zhuǎn)自 OneAPM 官方博客
原文地址:https://dzone.com/articles/most-difficult-and-strangest-programming-languages
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/64820.html
摘要:接下來繼續(xù)介紹三種架構(gòu)模式,分別是查詢分離模式微服務(wù)模式多級緩存模式。分布式應(yīng)用程序可以基于實現(xiàn)諸如數(shù)據(jù)發(fā)布訂閱負(fù)載均衡命名服務(wù)分布式協(xié)調(diào)通知集群管理選舉分布式鎖和分布式隊列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡單的 SpringCloud 教程 | 第九篇: 服務(wù)鏈路追蹤 (Spring Cloud Sleuth) 史上最簡單的 S...
摘要:它就是史上最簡單的教程第三篇服務(wù)消費者后端掘金上一篇文章,講述了通過去消費服務(wù),這篇文章主要講述通過去消費服務(wù)。概覽和架構(gòu)設(shè)計掘金技術(shù)征文后端掘金是基于的一整套實現(xiàn)微服務(wù)的框架。 Spring Boot 配置文件 – 在坑中實踐 - 后端 - 掘金作者:泥瓦匠鏈接:Spring Boot 配置文件 – 在坑中實踐版權(quán)歸作者所有,轉(zhuǎn)載請注明出處本文提綱一、自動配置二、自定義屬性三、ran...
摘要:為了保證其高可用,單個服務(wù)又必須集群部署。為了解決這個問題,就出現(xiàn)斷路器模型。一斷路器簡介摘自官網(wǎng)已經(jīng)創(chuàng)建了一個名為的庫來實現(xiàn)斷路器模式。較底層的服務(wù)如果出現(xiàn)故障,會導(dǎo)致連鎖故障。當(dāng)對特定的服務(wù)的調(diào)用達(dá)到一個閥值是秒次斷路器將會被打開。 轉(zhuǎn)載請標(biāo)明出處: http://blog.csdn.net/forezp/a...本文出自方志朋的博客 在微服務(wù)架構(gòu)中,我們將業(yè)務(wù)拆分成一個個的服務(wù),...
摘要:百度網(wǎng)盤爬蟲博客園上如何邀請好友注冊您的網(wǎng)站博客園上如何爬取代理服務(wù)器博客園上百度圖片爬蟲開源中國上中文分詞十分重要,推薦博客網(wǎng)站真分頁代碼該怎么寫博客園上磁力爬蟲源碼公開上兼容所有瀏覽器的瀏覽器復(fù)制問題 號稱史上最牛逼的幾篇博客這個說法也許夸張了點,但總體來說樓主整理的博客都是樓主幸苦之作,并且都是圍繞去轉(zhuǎn)盤網(wǎng)展開,這些博客幾乎透漏了該站的所有技術(shù)關(guān)鍵,細(xì)節(jié),甚至所有核心代碼,我個人...
閱讀 3690·2021-11-22 15:24
閱讀 1593·2021-09-26 09:46
閱讀 1904·2021-09-14 18:01
閱讀 2601·2019-08-30 15:45
閱讀 3526·2019-08-30 14:23
閱讀 1866·2019-08-30 12:43
閱讀 2915·2019-08-30 10:56
閱讀 800·2019-08-29 12:20