你的编码, 我看懂了

你的编码, 我看懂了_第1张图片

常觉得编程是一种艺术,

它的美只能让同样的高手

惺惺相惜;

有那么多的瑰宝和妙招

远离人们的视野与惊慕,

有时永不被发现,

因为编程过程的特性。

只需读一个人写的编码,

即或是十六进制码,

你也可以读懂一个高手。

我想,

麦尔就是一个埋没的天才。

----- 节选并翻译自《麦尔的故事 The Story of Mel》

(诗的英文原文见文末,欢迎翻译高手指正)

一个程序员被聘去修改一个软件的编码,看到了编程高手麦尔的杰作,不禁写了一首诗,上面那段诗是其中的节选。

故事发生在上世纪50年代。

麦尔 (Mel Kaye) 是个程序员。他开始编程的时候,比尔·盖茨应该还没出生或者还穿看成尿布。在那没有手机,没有个人电脑,没有博客,更没有脸书的年代,他的程序只有运行程序的电脑能懂。

他工作的公司名叫Royal McBee (RMB)。1959年时,RMB开发了一款电脑,型号LGP-30。麦尔为这台电脑编了一个21点的游戏。这游戏应该是史上第一款21点的电脑游戏。

在商业展销会上,RMB的销售代表会让来看电脑的人玩玩21点。当时人们基本没玩过电脑游戏,很多人一玩这个游戏就上瘾了。所以可想而知,RMB的电脑在展销会上极其畅销。


你的编码, 我看懂了_第2张图片
LGP-30 电脑


唯一的问题是,这个21点游戏太好玩了。有的时候,有的客人会玩输了,就心情不好。

销售代表们怕失去一些客户,就找到了麦尔,告诉他说这个游戏太公平了。他们想让麦尔能稍微改下游戏,比如设置一个秘密的按钮。这样,如果他们想让某个客户赢,只要偷偷按一下那个按钮就行了。

高手都有自己的原则,麦尔也是。他果断拒绝了。他心想,我这游戏设计得这么完美,你们这些穿西装扎领带的家伙,不懂得欣赏,还想动歪主意,没门。

那些销售代表灰溜溜地跑到公司上层去告状。

在上层领导的压力下,麦尔不情愿地修改了程序。但当他测试“秘密按钮”时,电脑居然反向运行,每局都赢。麦尔很高兴,他认为自己的潜意识里是讲职业道德的,并且不再去改编码。

麦尔后来跳槽到其他许以高薪的公司。RMB就聘请了另一个名叫艾德 (Ed Nather) 的程序员来修改21点电脑游戏程序。

当艾德打开麦尔写的代码后,被代码所展现的其主人的天才和技术惊呆了。

艾德最后也没去动那个程序。在他看来,去动这个精品,就象给《蒙娜·丽莎的微笑》画像上添墨。

他告诉老板他不懂得问题在哪里,所以改不了程序。回家后,这个工科男马上写了一长串的诗来赞美麦尔,把麦尔比作“真正的程序员”, 一个所有程序员都期望得到的称号。原诗的最后一段是这么写的:

当我离开公司

21点游戏的秘密程序仍然可以运行

如果你的按了正确的开关

我想那游戏本该就是这样。

让我去动一个真正程序员的作品

我万万做不到。

我忽然理解了那些程序猿。他们熬夜,他们加班,譜出的作品,很多时候,没人能看到。他们的聪慧,他们的灵感,就在那一行行艰涩难懂的编码中,象是一颗颗的珠宝,被精心雕琢后又被深藏地里,也许永远无人发现。

我也理解了跟我一样在上写作的人们。好多文章,都是作者用心谱写的歌,如果用心去读,你就会找到你未曾谋面的知音,发掘出对你有用的珍宝。


(The Story of Mel 英文原文:

I

have often felt that programming is an art form,

whose real value can only be appreciated

by another versed in the same arcane art;

there are lovely gems and brilliant coups

hidden from human view and admiration, sometimes forever,

by the very nature of the process.

You can learn a lot about an individual

just by reading through his code,

even in hexadecimal.

Mel was, I think, an unsung genius.

...... ......

When I left the company,

the blackjack program would still cheat

if you turned on the right sense switch,

and I think that's how it should be.

I didn't feel comfortable

hacking up the code of a Real Programmer.

------ By Ed Nather)

你可能感兴趣的:(你的编码, 我看懂了)