如果你的編程語(yǔ)言是汽車……
本文是一系列把編程語(yǔ)言和騎車對(duì)比的老笑話合集,添加了幾種最近流行的語(yǔ)言。歡迎提任何建議給我!
注:似乎 Digg/Reddit/StumbleUpon 對(duì)本文進(jìn)行了挖掘/閱讀/踩,結(jié)果我收到了一大坨兒的新建議。這正驗(yàn)證了 Vanier 的定律: “任何與編程相關(guān)的文章,不管多么愚蠢,最后都會(huì)被發(fā)到 Digg/Reddit/StumbleUpon 等網(wǎng)站上頭?!?感謝所有給我建議的人們。我仔細(xì)查看了所有建議,并且把我最喜歡的加到了這個(gè)頁(yè)面上。我也擅自從 digg.com 的評(píng)論中選了一些加進(jìn)來(lái),如果你是評(píng)論作者并且不允許我發(fā)到這里,我會(huì)把你的評(píng)論刪除。如果我沒有評(píng)論你精彩的評(píng)論,請(qǐng)理解:這并不是說(shuō)我不喜歡你,也許 只是因?yàn)槲沂且粋€(gè)缺乏幽默感的混蛋。同時(shí),有些人在推測(cè)我自己編程語(yǔ)言水平。我是一個(gè)注重實(shí)用的程序員(甚至可以說(shuō)是一個(gè)smug<?>的程 序員),我的編程語(yǔ)言大致是這樣:Haskell > Ocaml > Scheme/Lisp > Erlang > Python/Ruby > C. 我也喜歡其它語(yǔ)言(比如 Prolog 和 Smalltalk),但是我不怎么用那些語(yǔ)言。我也有很討厭的語(yǔ)言,不過(guò)我不在這里表達(dá)厭惡之情,免得陷入無(wú)意義的口水仗(口水仗——比如說(shuō)說(shuō)有的人會(huì) 發(fā)送內(nèi)容為“你TMD!”的郵件給我)。
不管你相信不相信,這頁(yè)面已經(jīng)被翻譯至俄語(yǔ)。感謝 Nick Gorbikoff 做了翻譯。這篇文章也被翻譯到阿拉伯語(yǔ),我不知道譯者是誰(shuí),不過(guò)我也感謝他/她。
列表:
Ada 是一種異常神勇永遠(yuǎn)不會(huì)損壞的坦克。如果你跟別人說(shuō)你駕駛的是Ada 他們會(huì)笑瘋的,但是,說(shuō)真的,你愿意在戰(zhàn)場(chǎng)上開跑車嗎?

匯編語(yǔ)言 僅僅是一臺(tái)引擎。你需要自己搭建汽車,并且在行駛過(guò)程中手動(dòng)注入燃料,不過(guò)如果你足夠小心的話,它可以跑得像脫韁野馬一般快。

Basic 這種汽車用來(lái)開到附近的商店去購(gòu)物還不錯(cuò).Basic曾經(jīng)在學(xué)習(xí)駕駛的人中很流行。但是最近被剝得只剩皮,被一個(gè)主要生產(chǎn)者重新設(shè)計(jì),新版本可以勝任長(zhǎng)途旅行,與舊版本之間只有外表上比較像,但其余部分都已經(jīng)改變了

C 快得難以置信但是每五十分鐘壞一次的跑車。

Cobol 是個(gè)有名氣的汽車,但是任何尊重自己的駕駛員都不承認(rèn)曾經(jīng)駕駛過(guò)。

C# 家用旅行車的有力競(jìng)爭(zhēng)者。一旦你用這種汽車,就不能用它的競(jìng)爭(zhēng)對(duì)手的汽車了。

C++ 是C跑車的加強(qiáng)馬力版,比C多了幾十個(gè)額外特性。每250英里損壞一次,問(wèn)題是損壞的時(shí)候誰(shuí)都找不到問(wèn)題在哪。
#p#

Eiffel 一輛法國(guó)口音的內(nèi)部包含駕駛指南的汽車。它會(huì)幫你快速找到自己的錯(cuò)誤并且吸取教訓(xùn),不過(guò)如果你膽敢和它爭(zhēng)執(zhí),它會(huì)把你扔出車窗口。Eiffel語(yǔ)言是繼Smalltalk-80之后的另一個(gè)“純”O(jiān)OPL。這種語(yǔ)言是由OOP領(lǐng)域中著名的專家Bertrand Meyer等人20世紀(jì)80年代后期在ISE公司(Interactive Software Engineering Inc.)開發(fā)的,它的主要特點(diǎn)是全面的靜態(tài)類型化、有大量的開發(fā)工具、支持多繼承。

Erlang 一群能夠合作把你送到目的地的汽車。你需要接受訓(xùn)練才能學(xué)會(huì)同時(shí)駕駛這些車。當(dāng)你學(xué)會(huì)如何駕駛時(shí)就很難再學(xué)會(huì)其他的駕駛方式。另外,你有好多輛車,所以一兩輛壞掉是無(wú)所謂的。
Forth 一輛你自己用工具拼成的汽車,外觀和行為都不像其它任何車。還有,F(xiàn)orth汽車只能倒著跑。

Fortran 一種相當(dāng)原始的汽車。如果你只在非常非常筆直的公路上駕駛,F(xiàn)ortran可以跑得飛快。據(jù)信,學(xué)習(xí)駕駛 Fortran 之后你就沒法學(xué)開其它汽車了。

Java 是一種家用旅行車。它易于駕駛,不過(guò)開不很快,你也不會(huì)出事故傷到自己。
#p#

Haskell 是一種設(shè)計(jì)無(wú)比精致的漂亮的汽車。據(jù)說(shuō)可以在任何極端地形上行駛。當(dāng)你駕駛它的時(shí)候,它并不沿著道路行駛,而是把自己和道路都復(fù)制若干份,把將來(lái)要走的路也復(fù)制出來(lái),其實(shí)可以以更方便的方式駕駛它,但是需要極高的數(shù)學(xué)水平。
[Monadic版]
Haskell 并不是一輛汽車,它只是一個(gè)抽象的汽車,你需要把它放進(jìn)另外一個(gè)真實(shí)的汽車中,然后才能駕駛。你不必知道真實(shí)的汽車是如何行駛的。你可以把若干個(gè)抽象汽車合成成一個(gè)抽象汽車,然后它就可以讓真實(shí)汽車一個(gè)接一個(gè)地做好趟旅途。
Lisp 看起來(lái)像一輛汽車,通過(guò)足夠的改裝你可以把它變成成一個(gè)相當(dāng)高效的飛行器或者潛水艇。
[Paul Tanimoto版]
Lisp 一開始看起來(lái)根本不像汽車,不過(guò)你總是能見到幾個(gè)駕駛它的人。當(dāng)你決定了解它的時(shí)候,你會(huì)發(fā)現(xiàn)它其實(shí)是一輛可以制造更多汽車的汽車。你把它告訴你的朋友,不過(guò)他們都嘲笑你,說(shuō)這些車看起來(lái)太奇怪了。你仍然在你的車庫(kù)里存著一輛,希望某一天這些車可以占據(jù)所有街道。
Mathematica 一種設(shè)計(jì)良好的汽車,參考了 Lisp 的設(shè)計(jì),卻對(duì)Lisp連句謝謝都沒說(shuō)。它可以幫你找到到達(dá)目的地的最快路徑,不過(guò)還要看你的運(yùn)氣如何了
Matlab 一般和 Mathematica 在相似的地形上行駛。在這種地形上駕駛 Matlab 是很舒服的,但是如果你駛離車道,哪怕只有一點(diǎn)點(diǎn),這輛汽車就變得非常難開,這時(shí)一些勢(shì)利的駕駛員甚至不把它當(dāng)作一輛車。
Ocaml 一種非常性感的歐洲車。它并沒有 C 那樣快,但是從來(lái)不會(huì)半路拋錨,所以你最終花的時(shí)間或許更短。然而,正因?yàn)樗鼇?lái)自法國(guó),駕駛方法和一般汽車不一樣。
Perl 是一輛漂亮的汽車,只是駕駛手冊(cè)太難懂了。另外,及時(shí)你已經(jīng)知道如何駕駛 Perl,你也不一定會(huì)開別人家的 Perl。
PHP 是Oscar Mayer Wienermobile。盡管它是一種奇怪、難以駕駛的汽車,但是每個(gè)人都想駕駛它。
Prolog 全自動(dòng)汽車:你只要告訴它你的目的地長(zhǎng)什么樣,它會(huì)自動(dòng)駕駛過(guò)去。然而,描述大部分目的地的精力耗費(fèi)都與親自開過(guò)去相當(dāng)。
Python 是一種非常適合初學(xué)者駕駛的好車。你可以不要駕駛證就開它上路。一般來(lái)說(shuō)你不需要其它車,除非你想要開得飛快或者經(jīng)過(guò)非常危險(xiǎn)的地帶。
Ruby 是 Perl、Python 和 Smalltalk 3者的合體。一位日本工程師從碎片中拼成了 Ruby,并且很多車手認(rèn)為它比另外三種語(yǔ)言都好。其它車手抱怨說(shuō) Ruby 的操作不穩(wěn)定,有些完全一樣的操作在不同環(huán)境中表現(xiàn)有些不一樣,所以這種車不那么容易駕駛。據(jù)說(shuō) Ruby 的重新設(shè)計(jì)正在進(jìn)行中。
Smalltalk 一種最初為學(xué)習(xí)駕駛的人設(shè)計(jì)的小型汽車,不過(guò)設(shè)計(jì)得非常好,所以有經(jīng)驗(yàn)的駕駛員也喜歡開。它沒法跑很快,但是你可以把它的任何一個(gè)區(qū)域取下來(lái),換成其它部 件,以適合自己的需求。它有一點(diǎn)奇怪之處:你不需要手動(dòng)駕駛它。你告訴它你想去哪,它要么帶你去,要么告訴你它不知道你在說(shuō)什么。
Visual Basic 一輛駕駛你的汽車。
各位Linuxer,你喜歡哪輛車呢?或者覺得自己的車有更好更形象的比喻呢?
原文鏈接:http://www.oschina.net/news/18982/if-programming-language-is-car
【編輯推薦】















 
 
 







 
 
 
 