写给未来的消息

A Message to the Future

多年来,我一边培育程序员,一边和他们工作。也许是他们大都很聪明的缘故,人们也大都认为他们整日苦思冥想的问题是极其困难的,给出来的解决方案对于普通人(或者初学者)而言像天书一样难以理解和维护。

我记得一件在Joe身上发生的趣事,他是我数据结构班里的学生,突然跑来给我看他写的东西:“我敢打赌你猜不出这是什么”,他说。

“确实”,我同意地说,并不想在他的作品上花太多时间,也不在乎传递的消息有多重要。“我敢肯定对此你很努力吧。我想,我觉得,你是不是忘了什么事。说!Joe,你是不是还有个弟弟?”

“是的呀,他叫Phil!在你的入门班里,也是学编程!”Joe很自豪地说。

“非常好,”我回答。“我想知道他是否能读这段代码。”

“不行!”Joe说,“这是很难的!”

我建议说,“假设这是真的可以工作的代码,几年后,Phil受雇去维护更新它。你能为他做点什么呢?”Joe盯着我眨眨眼。“我们都知道Phil很聪明,对吗?”

Joe点点头,嬉皮笑脸的说:“我不想这么说,但我也很聪明呀!“

”所以当我不能理解你所做的事,而你非常聪明的弟弟也对此十分困惑,那对于你写的东西又意味着什么呢?”在我看来,Joe看待他的代码有所不同。“这样如何,”我以“我是你最友好的导师”的口吻建议:“设想一下,你写的每行代码都是给未来某个人的消息——有可能是你的弟弟。你正在给这个聪明人解释如何解决这个问题。(…未来…)这是你的想法吗?未来那个聪明的程序员看到你的代码并赞叹:‘哇!太厉害了!我可以完美理解它如何工作的,它是多么优雅。不,等等——这段代码太漂亮了,我要展示给团队的其他人看。这就是一份杰作!’”

“Joe,你认为能把这些解决了棘手问题的代码,也变得像歌曲一样优美吗?是的,就像一首令人陶醉的旋律。我觉得任何人只要能为困难提供解决方案,那他也能写出漂亮的东西。嗯…我想我应该开始在’漂亮’这方面打分了?你认为如何呢,Joe?”

Joe拿起他的作品看着我,露出一丝微笑。“我懂了,教授,我要为Phil创造一个更美好的世界。谢谢你。”

0%