[转帖]如果编程语言是车子的话。。。

不同视角、不同观点、深度探讨,禁止人品和道德攻击
回复
头像
vvoody
帖子: 749
注册时间: 2007-01-21 20:10

[转帖]如果编程语言是车子的话。。。

#1

帖子 vvoody » 2007-08-18 20:14

If programming languages were cars...

This is an update to an old series of jokes about computer languages being like cars. I've added some more modern languages to the list. Any suggestions are welcome!

C is a racing car that goes incredibly fast but breaks down every fifty miles.

C++ is a souped-up racing car with dozens of extra features that only breaks down every 250 miles, but when it does, nobody can figure out what went wrong.

Java is a family station wagon. It's easy to drive, it's not too fast, and you can't hurt yourself.

C# is a competing model of family station wagons. Once you use this, you're never allowed to use the competitors' products again.

Ocaml is a very sexy European car. It's not quite as fast as C, but it never breaks down, so you end up going further in less time. However, because it's French, none of the controls are in the usual places.

Haskell is an incredibly elegantly-designed and beautiful car, which is rumored to be able to drive over extremely strange terrain. The one time you tried to drive it, it didn't actually drive along the road; instead, it made copies of itself and the road, with each successive copy of the road having the car a little further along. It's supposed to be possible to drive it in a more conventional way, but you don't know enough math to figure out how.
[Monadic version:]

Haskell is not really a car; it's an abstract machine in which you give a detailed description of what the process of driving would be like if you were to do it. You have to put the abstract machine inside another (concrete) machine in order to actually do any driving. You're not supposed to ask how the concrete machine works. There is also a way to take multiple abstract machines and make a single abstract machine, which you can then give to the concrete machine to make multiple trips one after another.

Lisp looks like a car, but with enough tweaking you can turn it into a pretty effective airplane or submarine.

Prolog is fully automatic: you tell it what your destination looks like, and it does all the driving for you. [Addendum from Paul Graham:] However, the effort required to specify most destinations is equivalent to the effort of driving there.

Perl is supposed to be a pretty cool car, but the driver's manual is incomprehensible. Also, even if you can figure out how to drive a perl car, you won't be able to drive anyone else's.

Python is a great beginner's car; you can drive it without a license. Unless you want to drive really fast or on really treacherous terrain, you may never need another car.

Smalltalk is a small car originally designed for people who were just learning to drive, but it was designed so well that even experienced drivers enjoy riding in it. It doesn't drive very fast, but you can take apart any part of it and change it to make it more like what you wanted it to be. One oddity is that you don't actually drive it; you send it a message asking it to go somewhere and it either does or tells you that it didn't understand what you were asking.

Ruby is a car that was formed when the Perl, Python and Smalltalk cars were involved in a three-way collision. A Japanese mechanic found the pieces and put together a car which many people think was better than the sum of the parts.

Erlang is a fleet of cars that all cooperate to get you where you want to go. It takes practice to be able to drive with one foot in each of several cars, but once you learn how you can drive over terrain that would be very hard to navigate any other way. In addition, because you're using so many cars, it doesn't matter if a few of them break down.

Fortran is a pretty primitive car; it'll go very quickly as long as you are only going along roads that are perfectly straight. It is believed that learning to drive a Fortran car makes it impossible to learn to drive any other model.

Cobol is reputed to be a car, but no self-respecting driver will ever admit having driven one.

Forth is a car you build yourself from a kit. Your car doesn't have to look or behave like anyone else's car. However, a Forth car will only go backwards.

Assembly Language is a bare engine; you have to build the car yourself and manually supply it with gas while it's running, but if you're careful it can go like a bat out of hell.

Eiffel
is a car that includes a built-in driving instructor with a French accent. He will help you quickly identify and learn from your mistakes, but don't you dare argue with him or he'll insult you and throw you out of the car. [From Daniel Prager with some embellishments]

[FROM]
上次由 vvoody 在 2007-08-18 22:35,总共编辑 2 次。
头像
princelai
帖子: 920
注册时间: 2007-01-06 21:00
联系:

#2

帖子 princelai » 2007-08-18 21:08

这个帖子不错,不过是英文的,我要用金山词霸翻译着看……
问一下,python非常适合初学者?我只有一些C语言的基础
学完C在学可以么
头像
vvoody
帖子: 749
注册时间: 2007-01-21 20:10

#3

帖子 vvoody » 2007-08-18 22:32

princelai 写了:这个帖子不错,不过是英文的,我要用金山词霸翻译着看……
问一下,python非常适合初学者?我只有一些C语言的基础
学完C在学可以么
好多没听过,没用过
头像
shellex
帖子: 2180
注册时间: 2007-02-18 19:33
系统: OSX
来自: lyric.im
联系:

#4

帖子 shellex » 2007-08-23 17:35

挺搞笑的文章,但是说得很好,我可以翻译下....
头像
vvoody
帖子: 749
注册时间: 2007-01-21 20:10

#5

帖子 vvoody » 2007-08-23 18:38

shellex 写了:挺搞笑的文章,但是说得很好,我可以翻译下....
这帖子发了5天了~~

好啊,翻译吧
头像
shellex
帖子: 2180
注册时间: 2007-02-18 19:33
系统: OSX
来自: lyric.im
联系:

假如编程语言是私家车

#6

帖子 shellex » 2007-08-23 19:34

...嘻嘻, 既然这样那么, 不要笑话我
译文来自:http://blog.chinaunix.net/u/31687/showart_366319.html

假如编程语言是私家车

这是一个关于把计算机语言比作车的一系列老笑话的升级版.我为这里的列表加入了一些更现代的语言.对此,我欢迎你提出什么建议.

C语言是一辆能开到难以置信的速度的跑车, 但每50英里就会抛锚一次.


C++是一辆经过改装的跑车, 有着一大堆额外特性. 它每250英里才抛锚一次, 但一旦发生这样的事, 没人能搞清楚到底是哪里出毛病了.

Java 一辆家用小货车. 驾驭它十分轻松, 但是它开不快, 所以你不会因为它伤到自己了.

C# 一种相当有竞争力的家用小货车. 只要你用了它, 那么你就再也不允许用它的竞争对手的产品了.

Ocaml 是一辆长得很性感的欧洲产汽车. 她跑得不像C那么快,但是她永远不会抛锚.所以呢, 你可以在更短的时间内跑更多的路.但是呢,因为是辆法国车, 她所有的操作杆都不在它们应该在的位置上.

Haskell是辆有着连帅都帅得那么帅的漂亮造型的车. 相传他在极端恶劣的地形也游刃有余. 当你想开始驾驶他的时候, 他并不是真的就是在路上向前跑; 相应地, 他不断复制自己和道路, 每次连续拷贝都将造成一点点前进. 用传统的方式驾驶他貌似是有可能的,但是你的数学知识不足以搞定.

[Monadic 版本:]
Haskell 其实不是辆真正的车; 他是一台抽象的机器, 你可以对着他给出一个你想要的驾驶过程的细节描述. 然后你必须把这台抽象的机器放到另一个实际的机器里来真正地进行驾驶. 你没法推测这个实际的机器是怎么工作的. 还有一种能把多个抽象的机器汇编成一台单独的抽象的机器的方法, 这样你就可以把他放到实际的机器中去一条接着一条地做多次小小的巡游.

Lisp貌似是辆车, 但是只要开足马力你就把他变成了一架特技飞机或者一艘潜水艇


Prolog 是辆全自动化汽车. 你只要告诉他你的目的地是怎么样的, 他就会为你做剩下的事. [Paul Graham的补充:]但是,指定大多数的目的地所花费的功夫大抵和开到那儿的功夫差不多.

Perl 被认为是辆相当酷的车. 但是它的驾驶员手册实在是难以理喻. 所以一旦你能搞清楚怎么开perl, 那么你就开不了其他车了

Python 是一辆很适合初学者的车. 你甚至可以无证驾驶python. 除非你想飙车或者开车去危险地区, 否则你可能永远不必买另一辆车了.

Smalltalk 原本是为初学者设计的一种小型汽车, 但是他也被设计成即使是老司机也乐于驾驶的车.他跑不了太快的, 但是你可以把它肢解了了并且改改他的零件来让他更加如你所愿. 它有个怪癖就是你不用真正地去驾驶它, 你只要给他发个消息来让他去哪去哪, 然后呢, 他要么就照你说的做了, 要么就告诉你他不知道你要他干什么.

Ruby 这种车型形成于perl, python和smalltalk在三叉路口发生撞车事故的时候.一个日本技工把它们的碎片捡起里然后凑合到一块儿,就成了一辆很多人认为比它们三的总和还好的车.

Erlang 是一支车队, 它们以互相合作的方式把你挪到你想去的地方.但是为了用一只脚放在车内就能驾驶它们, 你还必须好好练习下,但是你要是学会了怎么样在糟糕的路面开车, 那么在其他路面开车对你来说将会变得非常困难. 需要补充一点的是, 因为你有一支大车队, 所以车队里有几辆车抛锚了也没关系.

Fortran 是辆相当原始的车; 当你只是开直道时他能跑得飞快.据说学驾驶Fortran将导致没法再学着开其他车型.

Cobol被认为是辆车.但是只有没自尊的驾驶员才会承认自己开过它.

Forth 是辆你从宝宝时代DIY出来的车. 你自己的这辆车不管是看上去还是跑起来都不像别人的车.但是Forth注定只会倒着走.

汇编只是个光秃秃的汽车引擎. 你得自己造车并且在他开起来的时候还得手工给他灌油,但是你要是小心照料他, 他的速度能快到像加了润滑油的闪电.

Eiffel 是辆内置了位操着法国口音的驾驶教练的车. 他将帮助你快速地识别错误并从你的错误中学到经验.但是你不要和他争辩,否则他就会侮辱你后再把你扔出车去[来自Daniel Prager的描述并加以少许润色].[/url]
上次由 shellex 在 2007-08-23 19:48,总共编辑 2 次。
头像
shellex
帖子: 2180
注册时间: 2007-02-18 19:33
系统: OSX
来自: lyric.im
联系:

#7

帖子 shellex » 2007-08-23 19:35

princelai 写了:这个帖子不错,不过是英文的,我要用金山词霸翻译着看……
问一下,python非常适合初学者?我只有一些C语言的基础
学完C在学可以么
python确实入门超容易. 无所谓你会不会C都可以.
头像
shellex
帖子: 2180
注册时间: 2007-02-18 19:33
系统: OSX
来自: lyric.im
联系:

#8

帖子 shellex » 2007-08-23 19:35

个人比较欣赏C, Lisp, Erlang
头像
vvoody
帖子: 749
注册时间: 2007-01-21 20:10

#9

帖子 vvoody » 2007-08-23 19:54

shellex 写了:个人比较欣赏C, Lisp, Erlang
我觉得我们高二的计算机老师还是很明智的,上课用的Linux+python :D
头像
shellex
帖子: 2180
注册时间: 2007-02-18 19:33
系统: OSX
来自: lyric.im
联系:

#10

帖子 shellex » 2007-08-23 20:07

vvoody 写了:
shellex 写了:个人比较欣赏C, Lisp, Erlang
我觉得我们高二的计算机老师还是很明智的,上课用的Linux+python :D
忘了, 还欣赏python...不过你们高中真是NB.非常羡慕.....
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

#11

帖子 millenniumdark » 2007-08-23 20:13

vvoody 写了:
shellex 写了:个人比较欣赏C, Lisp, Erlang
我觉得我们高二的计算机老师还是很明智的,上课用的Linux+python :D
NB
头像
vvoody
帖子: 749
注册时间: 2007-01-21 20:10

#12

帖子 vvoody » 2007-08-23 22:38

恩,虽然这老师行为古怪,但现在想想他给我们介绍python是多么好啊~~

当时还对Linux不怎么感冒,只记得高二去买了3CD Red Hat,可惜安装失败
头像
kldoo
帖子: 131
注册时间: 2006-08-15 9:29
来自: 现居红尘
联系:

#13

帖子 kldoo » 2007-08-24 9:37

vvoody 写了:
shellex 写了:个人比较欣赏C, Lisp, Erlang
我觉得我们高二的计算机老师还是很明智的,上课用的Linux+python :D
牛啊,我那时买了3张FC1, 却认为是redhat10,
|
|

If i never try anything, i never learn anything.

If i never take a risk, i stay where i am.

…………
http://mifunny.info
…………
头像
vvoody
帖子: 749
注册时间: 2007-01-21 20:10

#14

帖子 vvoody » 2007-08-24 11:02

进了大学才正真开始认识使用Linux~~
回复