你最深愛的編程語(yǔ)言其實(shí)很爛
我最近寫了幾篇比較嚴(yán)肅的博客,是關(guān)于一些沮喪的事情,結(jié)果我開始有些憂郁。很嚴(yán)重。所以,我想應(yīng)該說些比較輕松的事情。我要做的就是數(shù)落大家最喜歡的編程語(yǔ)言。你會(huì)問我為什么,為什么要搞這種惡作劇?親愛的朋友,我能想出三種理由。
1. 我無聊,沒有更好的事情去做。
2. 我自命不凡,坐在家里,深知即使我侮辱了你編程最喜歡用的語(yǔ)言,你也拿我沒折。除非你能發(fā)明出這樣的東西:
3. 我忘了第三個(gè)理由是什么,但我敢肯定,那一定是一個(gè)非常有趣的理由。
好了,不再浪費(fèi)口舌,你最深愛的編程語(yǔ)言其實(shí)很爛。
1. C語(yǔ)言 哦,你聽說學(xué)習(xí)C語(yǔ)言是必須的,因?yàn)榇髱烰oel Spolsky這樣告訴你的。他說了這種語(yǔ)言是最優(yōu)秀的,最能體現(xiàn)編程語(yǔ)言的本質(zhì),等等等等。然而,當(dāng)你花了20個(gè)小時(shí)調(diào)試一個(gè)弱者的bug,卻發(fā)現(xiàn)是某個(gè)鳥人忘了檢查存儲(chǔ)的指針。請(qǐng)告訴我,最有本質(zhì)特色的編程語(yǔ)言有多好?或者花10天時(shí)間在百萬個(gè)函數(shù)中找出哪一個(gè)沒有釋放內(nèi)存。哦,沒錯(cuò),我的老弟,你簡(jiǎn)直愛死C語(yǔ)言了。
讓我來告訴你用C語(yǔ)言編程時(shí)的感覺:把你的手握成拳頭。對(duì),握緊?,F(xiàn)在使勁揍自己。恭喜,你現(xiàn)在就是一名C語(yǔ)言程序員了。
2. C++ 讓我來給你開開竅。你喜歡上一種囊括所有C語(yǔ)言的丑陋的語(yǔ)言,而且在此之上還增加了自己的丑陋。就如狗屎上再堆一層狗屎,每過幾年就會(huì)增加一層。
10行C++代碼的編譯要用去45分鐘,而拋出的錯(cuò)誤信息比《指環(huán)王》戒指上的那一行字還要扼要。
“甘道夫17年后回來。‘我一直在研究大量的古文獻(xiàn),’他說。‘答案很明顯。這是一個(gè)模板錯(cuò)誤。但我不會(huì)告訴你,因?yàn)檫@是一種很垃圾的語(yǔ)言,這種錯(cuò)誤不會(huì)重現(xiàn)’’”.
等一下,你在說C++11嗎? 這就是它:
3. Java Hi,你好!我需要有人寫超級(jí)復(fù)雜而且超級(jí)冗余的代碼。我還希望我的虛擬機(jī)在打了最新的安全補(bǔ)丁后每隔一天崩潰一次。對(duì)于視窗程序,我需要無論在什么操作系統(tǒng)上都顯示一樣的屎難看。你說你能幫助我?太好了!
4. C# 讓我來揭穿你。你不夠男人,沒法學(xué)C++,于是你不得不接受這個(gè)C++和Java的私生子。去寫你的視窗程序吧,你這個(gè)懦夫。你不知道所有的酷孩子都在用Linux嗎?
5. Visual Basic 像這樣一種既能阻止犯罪又能抓捕兇手的編程語(yǔ)言,我無言以對(duì)。
6. Lisp, Haskell以及其它函數(shù)式編程語(yǔ)言 所有的這些語(yǔ)言,沒有一個(gè)能有資格稱得上所謂的數(shù)學(xué)上的優(yōu)雅的函數(shù)式編程語(yǔ)言。至少其它類型的語(yǔ)言解決過真正的問題。而Lisp/Haskell之流都活在一個(gè)幻想世界——帶著墨鏡,喝著美酒,寫著優(yōu)雅的代碼。他們永遠(yuǎn)都拿那些卡通式例子給人看。“你能寫出這么糾結(jié)的代碼例子嗎?Haskell就是比C語(yǔ)言好。”你說的很對(duì),老爺爺。
還有,閱讀《計(jì)算機(jī)程序的構(gòu)造和解釋》去 和其它像這樣的大部頭計(jì)算機(jī)書籍沒有提高我的編程水平。即使閱《格雷的五十道陰影(50 shades of grey)》這樣的色情小說或任何吸血鬼愛情小說都比你看Scheme和Haskell書籍要學(xué)到更多的編程知識(shí)。當(dāng)當(dāng)網(wǎng) 看 | 去 亞馬遜 看
7. Delphi/Pascal 切。
8. Python 你看這篇博客需要有領(lǐng)導(dǎo)的批準(zhǔn)嗎?Python就像一種編程語(yǔ)言宗教。所有的東西都要用它開發(fā)——先知這樣說。否則我們都冷眼看你。
瞧瞧,這是邪教,卻假裝是一種編程語(yǔ)言。
9. Ruby 看看我!我是那種很酷的人的編程語(yǔ)言。買一杯咖啡,在星巴克坐8個(gè)小時(shí),上著免費(fèi)的wifi。大聲的談?wù)撝麄冇卸嗫帷?/p>
所有他們說的話的主旨就是友好的做程序員。Ruby主要是用Rails的人群使用,他們很多根本不懂編程。嗨,ruby們!閉嘴少說一分鐘行不行,讓其它人也說幾句。
10. Perl Dudeyouaresuchamessylanguage, Isometimeswonderhowanyonewritesanythingwithyou. Ireallycan’tunderstandanycode.
11. PHP 你為什么會(huì)在這里?你是從讓所有Wordpress網(wǎng)站崩潰的事情中找到了一點(diǎn)空閑時(shí)間?你不是還有另外一個(gè)安全補(bǔ)丁要更新嗎?如果你還想讓代碼寫的更亂,相信Perl語(yǔ)言能幫你。
12. Javascript 如果你認(rèn)為JavaScript是一種編程語(yǔ)言,那估計(jì)你認(rèn)為HTML也是一種編程語(yǔ)言。去寫你的HTML代碼吧,孩子。
13. 任何在這里沒有提到的編程語(yǔ)言 你的編程語(yǔ)言如此的爛,我都不屑去寫它。
14. LolCode 和 Brainfuck 好啊好啊!終于有人知道如何寫代碼了。拍拍自己的背欣慰一下吧。
如果我還忘了什么語(yǔ)言,那請(qǐng)你在評(píng)論里糟蹋它吧。