人月神话:编程为什么有趣?

最近在看一本关于软件工程的书《人月神话》,这本书在软件开发领域极富盛名,虽然我不是软件开发工程师,但这本书提及的很多编程和项目管理思想还是很吸引我。

在书的第一章,作者提到了编程的乐趣,他说编程起码提供了5个方面的乐趣:

  • 创建事务的纯粹快乐
  • 开发对他人有用的东西
  • 组装零部件成为一个有用的产品
  • 为解决问题而持续学习
  • 纯粹的思维活动

这让我想起知乎上有个问题:程序员的你,真的热爱编程吗?


有三百多个回答,大部分都觉得写代码是件开心的事情,当然也有可能是幸存者偏差,不喜欢编程的人连回答都懒得回答。

我接触的很多程序员确实对编程都会有超越一般人的兴趣,不仅仅是为了谋生而被迫去喜欢,更多是真的编程创作过程是有趣的。

我想可能编程是一种能产生心流的事情,为开发一个软件,不断地写代码、运行、测试、更新、迭代,最终创造出一个看得着的产品,且对他人有用,这是多么有成就感的事。

某位图灵奖得主这样描述描述编程:

神话和传说的魔力在我们这一代成真,只要在键盘上敲下正确的咒语,显示屏就像是活了过来,里面都是以前不可能存在或发生的事情。

这里分享一下《人月神话》原文:

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

首先,这种快乐是一种创建事物的纯粹快 乐。如同小孩在玩泥巴时感到快乐一样,成年人喜欢创建事物,特别是自己进行设计。我想这种快乐是上帝创造世界的折射,一种呈现在每片独特的、崭新的树叶和雪花上的喜悦。

其次,这种快乐来自于开发对他人有用的东西。内心深处,我们期望我们的劳动成果能够被他人使用,并能对他们有所帮助。从这一角度而言,这同小孩用粘士为 “爸爸的办公室”捏制铅笔盒没有任何本质的区别。

第三,快乐来自于整个过程体现出的一股强大的魅力一一将相互啮合的零部件组装在一起,看到它们以精妙的方式运行着,并收到了预期的效果。比起弹球游戏机或 自动电唱机所具有的迷人魅力,程序化的计算机毫不逊色。

第四,这种快乐是持续学习的快乐,它来自于这项工作的非重复特性。人们所面临的问题总有这样那样的不同,因而解決问题的人可以从中学习新的事物,有时是实践上的,有时是理论上的,或者兼而有之。

最后,这种快乐还来自于在易于驾驭的介质上工作。程序员,就像诗人一样,几乎仅仅在单纯的思考中工作。程序员凭空地运用自己的想象,来建造自己的“城堡”。很少有创造介质如此灵活,如此易于精炼和重建,如此容易实现概念上的设想(不过我们将会看到,容易驾驭的特性也有它自己的问题)。

然而程序同诗歌不同,它是实实在在的东西;它可以移动和运行,能独立产生可见的输出;它能打印结果,绘制图形,发出声音,移动支架。神话和传说中的魔术在我们的时代己变成现实。在键盘上键入正确的咒语,屏幕会活动、 变幻,显示出前所未有的也不可能存在的事物。

编程的快乐在于它不仅满足了我们内心深处进行创造的渴望,而且还唤醒了每个人内心的情感。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看完《人月神话》焦油坑中写的关于编程职业的乐趣与烦恼,更加坚定了我要加入编程行列的决心。在人生的每一个阶段,能够找...
    叶子陪你玩阅读 2,713评论 0 0
  • 1. 初尝禁果 第一次写代码至今已20年光阴,那是1998年,老爸给我买了一台裕兴学习机(红白机的一种,下附图)。...
    孙振强阅读 3,961评论 0 1
  • 人月神话 焦油坑 编程系统产品开发的工作量是供个人使用的,独立开发的构件程序的9倍。我估计软件构件产品化引起了3倍...
    Cache技术分享阅读 3,169评论 0 0
  • 内容简介 本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪...
    少穻阅读 4,635评论 1 1
  • 《人月神话》是本神奇的书,竟然还用一章把前面各章的要点做了总结。看前面章节的时候,就觉得作者的输出观点能力很强,很...
    SeanCheney阅读 5,572评论 0 3

友情链接更多精彩内容