你怎么能对编程不浪漫呢?

2020-09-09 05:09:47

“Moneyball”中有一个场景,布拉德·皮特饰演的角色,奥克兰甲队的经理,正在看他的一名球员拼命奔跑的录音,他被绊倒了。躺在地上的他对自己很生气,因为他没有意识到就在他开始跑动之前,他打出了一支本垒打,并获得了比赛的制胜点。看着这一幕,皮特向后一靠,带着布拉德·皮特的笑容说:“你怎么能对棒球不浪漫呢?”

我们在给电脑编程。我们一天中的大部分时间都在为机器写下指令。一天中的其他时间都用来确保我们收到了正确的指示。然后我们谈到这些指示:为什么和如何选择我们选择的,我们将来会考虑哪些,这些应该做什么,为什么和可能需要多长时间才能写下来。

然而,我们,表面上的官僚,谈论魔术是存在的-包括好的和坏的那种。这里有巫师。教学“就像巫师的咒语”。

不过,我们不把它们叫做指令,不管怎么说,当我们谈论我们每天生产的东西时,我们不会把它们叫做指令。这是我们写的代码。其中牵涉到情感因素。我们说,代码可以是:整齐,漂亮,干净,精心制作,巴洛克风格,最小的,坚实的,防御性的,粗俗的,粗俗的,艺术的,一堆屎,我读过的最愚蠢的东西,美丽,就像一首诗。

有些代码行对任何人来说都是一个谜,但它们的作者和名称值得作为警告。其他时候,奇怪的是,它是荣誉的象征。

多年来,一个人从头到尾都写了大量的代码,夜以继日地打字,直到有一天代码被输入到一台机器上,胡言乱语,一个色彩鲜艳的游乐场出现在屏幕上。其他代码已经跨越时区、国家边界和几十年被编写、重写、拆分和缝合在一起,不是由一个人编写的,而是由成百上千个不同的人编写的。

这个编程世界由代码维系在一起。数以百万计的代码行。没人知道有多少。有些已经卖了30多年了,有些还不到一周,你很可能昨天就用上了这两个部分。我们的计算机上漂浮着几行代码,这些代码已经多年没有被机器执行过了,很可能下辈子也不会执行。另一些是这个世界的金线,在不到十几个人知道的情况下,把它缝合在一起。拿掉其中一个,所有的东西都会崩塌。

如果你在这里呆的时间不够长,试着猜测这里有多少代人,有多少代人层叠在一起--你甚至不会接近,但要留下来。过了一段时间,你会越来越多地发现自己处于敬畏的时刻,被它的规模和脆弱性惊呆了;里面堆积如山的工作、才华、创造力、远见、智慧和运气。你会接触到“魔力”这个词,因为你不知道还能用什么词来形容它,然后你向后仰起身来微笑,想知道别人怎么不能做到这一点。