编程为什么有趣?

alt text

编程为什么有趣?作为回报,它的从业者期望得到什么样的快乐?


首先是一种创建事物的纯粹快乐。

如同小孩在玩泥巴时感到愉快一样,成年人喜欢创建事物,特别是自己进行设计。

我想这种快乐是上帝创造世界的折射,一种呈现在每片独特、崭新的树叶和雪花上的喜悦。

其次,快乐来自于开发对其他人有用的东西。

内心深处,我们期望其他人使用我们的劳动成果,并能对他们有所帮助。

从这个方面,这同小孩用粘土为“爸爸办公室”捏制铅笔盒没有本质的区别。

第三是整个过程体现出魔术般的力量——将相互啮合的零部件组装在一起,看到它们精妙地运行,得到预先所希望的结果。

比起弹珠游戏或点唱机所具有的迷人魅力,程序化的计算机毫不逊色。

第四是学习的乐趣,来自于这项工作的非重复特性。

人们所面临的问题,在某个或其它方面总有些不同。

因而解决问题的人可以从中学习新的事物:有时是实践上的,有时是理论上的,或者兼而有之。

最后,乐趣还来自于工作在如此易于驾驭的介质上。

程序员,就像诗人一样,几乎仅仅工作在单纯的思考中。

程序员凭空地运用自己的想象,来建造自己的“城堡”。

很少有这样的介质——创造的方式如此得灵活,如此得易于精炼和重建,如此得容易实现概念上的设想。(不过我们将会看到,容易驾驭的特性也有它自己的问题)

然而程序毕竟同诗歌不同,它是实实在在的东西;可以移动和运行,能独立产生可见的输出;能打印结果,绘制图形,发出声音,移动支架。

神话和传说中的魔术在我们的时代已变成了现实。

在键盘上键入正确的咒语,屏幕会活动、变幻,显示出前所未有的或是已经存在的事物。

编程非常有趣,在于它不仅满足了我们内心深处进行创造的渴望,而且还愉悦了每个人内在的情感。

本文摘录自《人月神话》