24小时热门版块排行榜    

查看: 2444  |  回复: 16

holmescn

金虫 (正式写手)

[交流] 如果编程语言是汽车……已有11人参与

原文: If programming languages were cars... http://www.cs.caltech.edu/~mvanier/hacking/rants/cars.html,有筛减

转载地址:http://wowubuntu.com/if-programming-languages-were-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的辛勤翻译和整理
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sondwall

铁杆木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2011-06-20 12:03:50
sofa,sofa,haha~~

嗯,写的不错,挺有才,有意思
2楼2011-06-20 01:04:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2011-06-20 12:03:41
Python 是一种非常适合初学者驾驶的好车。你可以不要驾驶证就开它上路。一般来说你不需要其它车,除非你想要开得飞快或者经过非常危险的地带。

这个很形象
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2011-06-20 01:58:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinghuoly

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2011-06-20 12:03:33
没讲Scheme,不过我也想不出Scheme像哪种汽车。
天地为帐,日月为灯,风雷为号角,云虹为旗令,山川为阵图,草木为兵卒。运阴阳五行为谋,策古今兴替为略。
4楼2011-06-20 08:27:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


jjdg(金币+1): 感谢参与 2011-06-20 12:03:25
引用回帖:
Originally posted by qinghuoly at 2011-06-20 08:27:34:
没讲Scheme,不过我也想不出Scheme像哪种汽车。

Lisp 不就是scheme嘛. 一样一样的.
5楼2011-06-20 08:40:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-23 11:02:31
引用回帖:
Originally posted by holmescn at 2011-06-20 08:40:18:
Lisp 不就是scheme嘛. 一样一样的.

倒过来说更确切一些……
6楼2011-06-20 10:00:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2011-06-20 12:03:06
Fortran 一种相当原始的汽车。……据信,学习驾驶 Fortran 之后你就没法学开其它汽车了。

这句话对我来说的确很符合实际……
7楼2011-06-20 10:03:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dedream

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-23 11:02:43
Python 是一种非常适合初学者驾驶的好车。你可以不要驾驶证就开它上路

正在学习这个,看没有驾照能不能上路:-)
从数据到结论
8楼2011-06-20 15:08:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-23 11:02:51
C和C++倒是蛮搭配,不过对Perl的描述很不公平啊,首先,Perl不是一个漂亮的车,它是一部古典的车,每个部件都是经典窖藏,而这并不妨碍它工作,但人们对它的看法来自于很多方面,有些带有奇怪想法的人偶尔把它改造得很拉风,而且这居然是可以做到的,这个方面看,它特别适合汽车爱好者。其次,自己的设备毕竟不是公交,正常情况下,如果朋友的车很拉风,可以希望试一试,但毕竟是私人物品,随便乱动的做法就不太对了。而且,从CPAN上看,也不是没人出租。
漩涡的中心有一块空地,空空的。
9楼2011-06-20 16:22:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-06-23 11:03:00
说C每50分钟坏一次,那只是司机不行...
10楼2011-06-20 18:57:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 holmescn 的主题更新
普通表情 高级回复(可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 这种人痛苦吗 +12 2671 2024-11-12 14/700 2024-11-15 22:15 by 仇恨毁灭财富
[考博] 中南大学 粉末冶金国家重点实验室 陈超教授课题组拟招收 1~2位博士研究生通知 +7 中南大学-金属材 2024-11-14 18/900 2024-11-15 20:22 by 中南大学-金属材
[论文投稿] angew三个小修,返修过去已经20多天了没动静,有朋友遇到这种情况吗? +5 迟迟未到场 2024-11-14 5/250 2024-11-15 20:16 by 秦时明月zy
[论文投稿] 职称论文 +10 xiaoqi_66 2024-11-09 13/650 2024-11-15 16:45 by sugarmei
[基金申请] 博后面上太难了 +14 不安定因素 2024-11-14 17/850 2024-11-15 16:05 by lupbao
[教师之家] 大学老师 +11 考研一路顺风 2024-11-13 14/700 2024-11-15 15:24 by LNP@mRNA
[基金申请] 变性人申请基金咋算性别? +21 leicahfs 2024-11-11 21/1050 2024-11-15 14:54 by 跳鱼拨刺
[基金申请] 博后资助名单出来了 +12 Shxjjxjkx 2024-11-14 14/700 2024-11-15 14:40 by fanfenggui
[硕博家园] reject后小感 +6 sioc-sunj 2024-11-14 8/400 2024-11-15 11:50 by 畅21
[硕博家园] 和导师撕破脸了 +16 圆满123456 2024-11-13 20/1000 2024-11-15 10:09 by 小杰1572
[基金申请] 求助 +4 Enenenene 2024-11-15 4/200 2024-11-15 09:36 by 榨菜拌青椒
[论文投稿] 论文返修状态变成了awaiting AE recommendation 10+3 猪小耍 2024-11-13 12/600 2024-11-15 08:41 by 北京莱茵润色
[基金申请] 第76批博士后面上大概什么时间公示 +6 探际者 2024-11-11 7/350 2024-11-14 10:06 by Foxicut88
[论文投稿] 要不要撤稿另投 10+4 wangzhesd 2024-11-09 8/400 2024-11-14 09:09 by LIU_V
[论文投稿] 求JACS和ACIE的最新文章模板 10+4 Jane060390 2024-11-10 4/200 2024-11-13 09:13 by 北京莱茵润色
[硕博家园] 如何看清华北大硕博的毕业论文 +6 2025lucky 2024-11-10 6/300 2024-11-12 22:46 by 楚扬长流
[论文投稿] 论文接受后,编辑部发邮件提醒缺少附件 15+4 上善若水明泪 2024-11-10 4/200 2024-11-12 14:24 by 北京莱茵润色
[论文投稿] 爱思唯尔投稿系统里的通讯作者可以和文章里的通讯作者标注不同吗 +7 Omnissiah 2024-11-10 7/350 2024-11-12 14:07 by holypower
[基金申请] 请问:工作单位缺乏条件,青年基金申报书可以写读博学校的实验平台吗? +5 dxmx 2024-11-08 7/350 2024-11-11 23:08 by dxcharlary
[硕博家园] 同步辐射 +4 小张要加油努力 2024-11-10 7/350 2024-11-11 13:47 by mpdfwxgui
信息提示
请填处理意见