如果编程语言是汽车……
19
六
2011
# 作者:
freetstar /
本文采用
CC BY-NC-SA 2.5协议授权,转载请注明
本文链接。
原文: If programming languages were cars... http://www.cs.caltech.edu/~mvanier/hacking/rants/cars.html,有筛减
本文是一系列把编程语言和汽车对比的老笑话合集,添加了几种最近流行的语言。欢迎提任何建议给我!
注:似乎 Digg/Reddit/StumbleUpon 对本文进行了挖掘/阅读/踩,结果我收到了一大坨儿的新建议。这正验证了 Vanier 的定律: “任何与编程相关的文章,不管多么愚蠢,最后都会被发到 Digg/Reddit/StumbleUpon 等网站上头。” 感谢所有给我建议的人们。我仔细查看了所有建议,并且把我最喜欢的加到了这个页面上。我也擅自从 digg.com 的评论中选了一些加进来,如果你是评论作者并且不允许我发到这里,我会把你的评论删除。如果我没有评论你精彩的评论,请理解:这并不是说我不喜欢你,也许只是因为我是一个缺乏幽默感的混蛋。同时,有些人在推测我自己编程语言水平。我是一个注重实用的程序员(甚至可以说是一个smug<?>的程序员),我的编程语言大致是这样:Haskell > Ocaml > Scheme/Lisp > Erlang > Python/Ruby > C. 我也喜欢其它语言(比如 Prolog 和 Smalltalk),但是我不怎么用那些语言。我也有很讨厌的语言,不过我不在这里表达厌恶之情,免得陷入无意义的口水仗(口水仗——比如说说有的人会发送内容为“你TMD!”的邮件给我)。
不管你相信不相信,这页面已经被翻译至俄语。感谢 Nick Gorbikoff 做了翻译。这篇文章也被翻译到阿拉伯语,我不知道译者是谁,不过我也感谢他/她。
列表:
- Ada 是一种异常神勇永远不会损坏的坦克。如果你跟别人说你驾驶 的是Ada 他们会笑疯的,但是,说真的,你愿意在战场上开跑车吗?
- 汇编语言 仅仅是一台引擎。你需要自己搭建汽车,并且在行驶过程中手动注入燃料,不过如果你足够小心的话,它可以跑得像脱缰野马一般快。
- Basic 这种汽车用来开到附近的商店去购物还不错.Basic曾经在学习驾驶的人中很流行。但是最近被剥得只剩皮,被一个主要生产者重新设计,新版本可以胜任长途旅行,与旧版本之间只有外表上比较像,但其余部分都已经改变了
- C 快得难以置信但是每五十分钟坏一次的跑车。
- Cobol 是个有名气的汽车,但是任何尊重自己的驾驶员都不承认曾经驾驶过。
- C# 家用旅行车的有力竞争者。一旦你用这种汽车,就不能用它的竞争对手的汽车了。
- C++ 是C跑车的加强马力版,比C多了几十个额外特性。每250英里损坏一次,问题是损坏的时候谁都找不到问题在哪。
- Eiffel 一辆法国口音的内部包含驾驶指南的汽车。它会帮你快速找到自己的错误并且吸取教训,不过如果你胆敢和它争执,它会把你扔出车窗口。
- Erlang 一群能够合作把你送到目的地的汽车。你需要接受训练才能学会同时驾驶这些车。当你学会如何驾驶时就很难再学会其他的驾驶方式。另外,你有好多辆车,所以一两辆坏掉是无所谓的。
- Forth 一辆你自己用工具拼成的汽车,外观和行为都不像其它任何车。还有,Forth汽车只能倒着跑。
- Fortran 一种相当原始的汽车。如果你只在非常非常笔直的公路上驾驶,Fortran可以跑得飞快。据信,学习驾驶 Fortran 之后你就没法学开其它汽车了。
- Java 是一种家用旅行车。它易于驾驶,不过开不很快,你也不会出事故伤到自己。
- Haskell 是一种设计无比精致的漂亮的汽车。据说可以在任何极端地形上行驶。当你驾驶它的时候,它并不沿着道路行驶,而是把自己和道路都复制若干份,把将来要走的路也复制出来,其实可以以更方便的方式驾驶它,但是需要极高的数学水平。
- [Monadic版]
- Haskell 并不是一辆汽车,它只是一个抽象的汽车,你需要把它放进另外一个真实的汽车中,然后才能驾驶。你不必知道真实的汽车是如何行驶的。你可以把若干个抽象汽车合成成一个抽象汽车,然后它就可以让真实汽车一个接一个地做好趟旅途。
- Lisp 看起来像一辆汽车,通过足够的改装你可以把它变成成一个相当高效的飞行器或者潜水艇。
- [Paul Tanimoto版]
- Lisp 一开始看起来根本不像汽车,不过你总是能见到几个驾驶它的人。当你决定了解它的时候,你会发现它其实是一辆可以制造更多汽车的汽车。你把它告诉你的朋友,不过他们都嘲笑你,说这些车看起来太奇怪了。你仍然在你的车库里存着一辆,希望某一天这些车可以占据所有街道。
- Mathematica 一种设计良好的汽车,参考了 Lisp 的设计,却对Lisp连句谢谢都没说。它可以帮你找到到达目的地的最快路径,不过还要看你的运气如何了
- Matlab 一般和 Mathematica 在相似的地形上行驶。在这种地形上驾驶 Matlab 是很舒服的,但是如果你驶离车道,哪怕只有一点点,这辆汽车就变得非常难开,这时一些势利的驾驶员甚至不把它当作一辆车。
- Ocaml 一种非常性感的欧洲车。它并没有 C 那样快,但是从来不会半路抛锚,所以你最终花的时间或许更短。然而,正因为它来自法国,驾驶方法和一般汽车不一样。
- Perl 是一辆漂亮的汽车,只是驾驶手册太难懂了。另外,及时你已经知道如何驾驶 Perl,你也不一定会开别人家的 Perl。
- PHP 是Oscar Mayer Wienermobile。尽管它是一种奇怪、难以驾驶的汽车,但是每个人都想驾驶它。
- Prolog 全自动汽车:你只要告诉它你的目的地长什么样,它会自动驾驶过去。然而,描述大部分目的地的精力耗费都与亲自开过去相当。
- Python 是一种非常适合初学者驾驶的好车。你可以不要驾驶证就开它上路。一般来说你不需要其它车,除非你想要开得飞快或者经过非常危险的地带。
- Ruby 是 Perl、Python 和 Smalltalk 3者的合体。一位日本工程师从碎片中拼成了 Ruby,并且很多车手认为它比另外三种语言都好。其它车手抱怨说 Ruby 的操作不稳定,有些完全一样的操作在不同环境中表现有些不一样,所以这种车不那么容易驾驶。据说 Ruby 的重新设计正在进行中。
- Smalltalk 一种最初为学习驾驶的人设计的小型汽车,不过设计得非常好,所以有经验的驾驶员也喜欢开。它没法跑很快,但是你可以把它的任何一个区域取下来,换成其它部件,以适合自己的需求。它有一点奇怪之处:你不需要手动驾驶它。你告诉它你想去哪,它要么带你去,要么告诉你它不知道你在说什么。
- Visual Basic 一辆驾驶你的汽车。
各位Linuxer,你喜欢哪辆车呢?或者觉得自己的车有更好更形象的比喻呢?
感谢:Aenon的辛勤翻译和整理
25 Responses to 如果编程语言是汽车……
ivarptr
六月 19th, 2011 at 9:16 下午
java和shell脚本
[Reply]
wecing
六月 19th, 2011 at 9:19 下午
Haskell和Lisp这枪中得真杯具……
[Reply]
windboy
六月 19th, 2011 at 9:21 下午
Visual Basic 一辆驾驶你的汽车。
+1
[Reply]
Aenon
六月 19th, 2011 at 9:42 下午
囧了…… “汽车”写成了“骑车”,FreeTstar没发现……
[Reply]
freetstar Reply:
六月 19th, 2011 at 9:45 下午
@Aenon, 冏的n次方中..
[Reply]
besto
六月 19th, 2011 at 10:04 下午
有的还是比较恰当的
[Reply]
大熊
六月 19th, 2011 at 10:06 下午
Prolog 全自动汽车:你只要告诉它你的目的地长什么样,它会自动驾驶过去。然而,描述大部分目的地的精力耗费都与亲自开过去相当。
+1
[Reply]
freetstar Reply:
六月 19th, 2011 at 10:10 下午
@大熊, 嘿嘿,我在这篇文章前还没听过Prolog
[Reply]
luc
六月 20th, 2011 at 2:15 上午
fortran的驾驶员不能开别的车,哈哈哈。
[Reply]
JoyLocus | 玩迹 » 如果编程语言是汽车…
六月 20th, 2011 at 9:45 上午
[...] programming languages were cars…,有筛减 译文:Aenon Car, Programming 永久地址: [...]
MMR
六月 20th, 2011 at 11:00 上午
Visual Basic 一辆驾驶你的汽车。
----------------------------------------------------------------------------------
笑喷了
[Reply]
逸川
六月 20th, 2011 at 5:02 下午
这个说法不错……
[Reply]
error
六月 20th, 2011 at 6:34 下午
一直在被车驾驶啊。。。。好有景德镇特色哦,被代表,被就业,原来还有被驾驶! ==! 我要去搞一辆没有驾照也能开的车
[Reply]
YOTERYE
六月 20th, 2011 at 10:14 下午
想学编程,目前只有C++的一点点基础。。
其实更想学python
[Reply]
hekruang
六月 20th, 2011 at 11:17 下午
数据库原理课用power builder做实验的,你伤不起。
[Reply]
huomosi
六月 21st, 2011 at 12:07 上午
haha,nice!
[Reply]
ruziyjie
六月 22nd, 2011 at 2:02 上午
C......
[Reply]
yun77op
六月 22nd, 2011 at 5:22 下午
木有javascript。。 T T
[Reply]
Mike Ma Reply:
八月 11th, 2011 at 5:45 下午
@yun77op, javascript 是一种拼凑出来的车,但谁也不知道零件是从哪里来的。从他打造出来后你就无法维修它。这种车的特点是永远不会抛锚,但是一旦出现问题(如刹车)你可能就再也下不来了。
[Reply]
PP
六月 22nd, 2011 at 9:01 下午
卡丁车
[Reply]
SnowWind
六月 23rd, 2011 at 11:43 下午
重点表扬python..
开起来不会比骑自行车更有难度
[Reply]
跟院长一起学perl(一) | my little bughouse
八月 6th, 2011 at 3:53 上午
[...] 对编程语言的比喻,网上还有一篇非常著名的“如果编程语言是汽车”,以下引用它对perl的比喻: Perl 是一辆漂亮的汽车,只是驾驶手册太难懂了。另外,及时你已经知道如何驾驶 Perl,你也不一定会开别人家的 Perl。 [...]
Eddie
八月 24th, 2011 at 9:37 下午
赞~我想转载~ @freetstar
[Reply]
zebrat
九月 20th, 2011 at 12:54 下午
C++这个经典
[Reply]
如果编程语言是汽车 - 博客 - 伯乐在线
十一月 2nd, 2011 at 10:28 下午
[...] Vanier 译文:Aenon 分享到: [...]