當前位置:
首頁 > 天下 > 1024!

1024!

手持兩把錕斤拷

口中疾呼燙燙燙

今天是個特殊的日子, 10 月 24 日。( 不是 25 日 ! )

差評君想了想,之前和大家分享過一些搞笑編程語言,趁著今天這個日子,再拿出來和各位程序員們一起樂一樂 ~

順帶一提,差評君今天又發現了更多的搞笑編程語言。

不少人對於程序員的印象可能是這樣的

但差評君發現了一門編程語言它可以讓寫程序的人變成這樣

這是一門叫ArnoldC的編程語言

沒錯,ArnoldC 里的 Arnold 指的是阿諾德·施瓦辛格

為毛編程語言會和電影演員扯上關係,差評君給大家介紹一下這個玩意兒你們就知道為啥這麼叫了。。。

「 ArnoldC : 一門受到阿諾德·施瓦辛格在終結者2電影中的表演而啟發的編程語言 」

差評君為了讓不了解編程的差友們也能看懂,簡單說兩句啥是編程語言,有技術背景的可以考慮跳過。

編程說白了就是你寫一段話(一段代碼)去命令電腦做事兒。

概念上說來簡單,但電腦不懂人話,只懂機器語言,而且機器語言我們人類用著不太趁手,它們大多長這個樣兒

編程語言就是一套我們人類用起來舒服一點的命令。

一門語言還有一套對應的編譯工具,類似於一位翻譯官,把你說的命令轉成機器語言給電腦運行

比如說你用 Python 告訴電腦輸出一句話 「 Hello World 」,你可以這麼寫:

print("Hello World")

其實很好理解,print 就是列印的意思,上面這句話就是讓電腦把括弧里的內容列印到顯示屏上來。

運行一下~

ArnoldC 這個語言是基於 Java 開發的,裡面的用詞取自電影 《終結者2》 里阿諾德·施瓦辛格的台詞,很是獵奇。。。

比如說上面那個列印命令,在 ArnoldC 里,要寫成 TALK TO THE HAND

這個短語 「 talk to the hand 」,大意是用一種鄙視的語氣讓對方說話,類似於中文的 「有屁快放」 。。。

類似的獵奇詞句還有很多,而且全部都要大寫,給人一種霸氣外露的感覺。

每個程序最後還要致敬經典台詞,來一句YOU HAVE BEEN TERMINATED

差評君裝了一下這個語言,按照開發者給的提示寫了個簡單程序

覺得自己敲的每一行字都自帶冷酷的語氣

然後編譯的時候報了個錯( 就是翻譯官說我下的命令有問題 )

重點是這個報錯的語氣挺有態度的。。。

差評君稍微改了改,再運行一下

成功輸出了 Hello World !

再舉個例子大家感受一下,打個比方,你想寫個程序把數字 1 到 10 列印一下

這是用 C 語言寫的,看不懂沒事兒~

( 其實這段話哪怕不會編程,只要懂英語,也不難理解,一個數一開始等於 1,當它小於等於 10 的時候就重複兩件事:1. 列印自己 2. 給原來的值加 1 )

這是用 Arnold C 寫的程序,大致直接翻譯裡面的短語

其實輸出結果是一樣的:

但是差評君寫完後面的程序,覺得自己酷到飛起~

其實呢程序員比你們想像得要會玩兒,除了這個 ArnoldC,不正經編程語言多了去了

例如 Cow 語言

沒錯,這個 Cow 就是牛。。。

這個 cow 語言和上面提到的 ArnoldC 一樣,是可以編譯並且成功運行的!

語法是根據牛的叫聲 「 moo 」 進行一些變化,例如 「 Moo 」 和 「 mOo 」 代表的是不同意思,來實現不同的命令。。。

開發人員提供的開發文檔,一本正經有沒有!

下面這個程序的源代碼可以印出一句 「 Hello World 」

再來看這門叫 INTERCAL 的彙編語言,它的特點是要求程序員非常有禮貌,你得加上一些 PLEASE( 請 )。

INTERCAL 寫的 Hello World 程序

更獵奇的是,你要是 PLEASE 用得太多了,會顯得過於刻意,編譯的時候有一定幾率不給你通過。。。

還有一些語言屬於沒事兒增加難度類型的搞笑。。。

比如下面要介紹的 Brainfuck 的語言,它寫個 Hello World 的話,源代碼長這樣

是不是超級難,看不懂?

所以它叫 Brainfuck 嘛,就是你沒事兒寫它就好比在 gan 自己的大腦。。。

再看另一門語言,Whitespace(空格),它的特點是所有程序都是空白,編譯器只把空格和換行符號視為有效的代碼

這是用 Whitespace 代碼寫的 Hello World

誰特么看得出寫了啥啊?

其實要是把它選中高亮一下,還是有 「 內容 」 的

嗯。。。雖然這門語言看起來很難,但是寫起來一定很爽,可以啪啪啪狂敲鍵盤!

以上編程語言都有人做了完整的編譯器,真的可以拿來開發程序!

差評君再放一些奇葩語言寫的 Hello World 程序感受一下

皮卡丘專用語言

這個語言就叫 fuck

還有華盛頓大學的一名教授 Doug Zongker,搞了個 Chicken 的語言

雞語言版 Hello World,也就 546 個 Chicken 吧。。。

人家搞學術的就是認真,還發表了個論文

而且還特么被引用了 17 次 ?!!!

類似的這類編程語言叫做 esoteric programming language ,意思是 「 深奧的編程語言 」 ,經常簡寫成 「 esolang 」 。

Esolang 的開發者們並不打算讓它們成為主流編程語言,畢竟作為工具 esolang 也太蹩腳了。。。

Brainfuck 作者寫的升級版,叫 「 ( ?° ?? ?°)fuck 」

這些語言雖然易用性差得一逼,但是一定是能用的,這才能保證它們還是 「 編程語言 」 。

這些語言為啥要拋棄可用性,做那些可有可無的事情呢?

你想想,最早古代人畫畫是為了記錄場景,可後來衍生出了印象派,野獸派等等完全和 「 寫實 」 脫離的繪畫流派。

Esolang 和那些後來的畫派一樣,在試圖探索藝術的邊界,只不過出發點是編程語言。

比如有一門語言 「 Shakespeare 」 ,目的是使程序看起來像莎士比亞的戲劇。

一個簡單的條件判斷,都會寫成一段台詞( 注釋為翻譯 ):

Juliet:

Am I better than you?

//茱麗葉:我比你更好嗎?

Hamlet:

If so, let us proceed to scene III.

//哈姆雷特:如果是真的,那就讓我們來到第三場。

創作者在代碼溜的飛起的同時,一定是個戲劇愛好者。

而一門叫 「 Rockstar 」 ( 搖滾巨星 ) 的語言,則通過編程語言體現了 80 年代西方搖滾樂研究。

一句簡單的,把兩個變數相乘的 Rockstar 代碼:

Put the whole of your heart into my hands.

//把你的全部心意放在我的手掌上

上一句代碼,簡直是當年流行搖滾歌詞的一個模版,體現了 80 年代流行搖滾的精髓。。。( 瞎說的 )

還有一門叫 Piet 的編程語言,則使用了深奧的視覺空間語法。

以下是它的代碼示範:

//這有什麼好寫注釋的啊喂!!!

程序是通過指針依次經過一個個色塊,來執行一項項操作的。。。

這個畫風了解過藝術史的差友們都知道,是荷蘭畫家蒙德里安的 「 幾何形體派 」 , 主張幾何形體與簡單色彩構成的形式美。

講到這裡,你想到了啥?

沒錯,就是程序員們最愛的格子襯衫。

現在你懂了吧?喜歡世人嘲笑程序員不懂時尚,畢竟追求藝術的道路是孤獨的。

關於 esolang 在藝術道路上的探索,例子有很多,差評君根本舉不完;

關於這些藝術的說法也有很多,差評君編不下去了。。。

不過 esolang 也是程序員造出來的,其實他們一點也不木訥,還充滿了藝術追求。

致敬這些偉大,有趣,同時又想改變世界的工程師, 1024 快樂~!

「 什麼論壇?啥???沒聽過,沒見過,別亂講! 」


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 差評 的精彩文章:

新iphone即將正式發布 除了價格之外基本已經沒有懸念
如何不在閑魚上被人當成鹹魚?

TAG:差評 |