获得徽章 5
- 某些代码段的最初起源,己经不能用信仰来解释。有这样一个实
例:两位程序员在钻研社会安全部的底层代码时,奇怪地发现了一个人
为刻意的设计——只要输人卡片的起始编号为几个特定值,而且在特定
某列出现字母“A”,这些“A”就会被较换为数值“1”。实际上,这
列上应该只允许数字出现——这是由一个预编辑程序保证的——因此这
个问题就更是令人费解了。尽管这两位程序员搞不懂其功能,他们还是
执意不肯修改这些代码,并着手进行调查。最后,他们终于找到了
答案。
若干年前——在一些软件公司,这意味着跨越了几代程序员(这也是
心理学的另一个问题,对吗?)——在提供卡片的一个区办公室,有一台
打孔机出现了故障,把在这一列上的数字 “1〞都误穿成字母“A”。而当
时还没有使用预编辑程序,因此这些卡片可能会被传递给内部程序,并造
成计算机的意外挂起。等到问题被发现时,已经有数目不详的此类卡片流
通出去了——在这种情况下,最简单的办法就是对该段代码进行 “临时
性”的修改。由于做完这个修补后,问题完全得到解决,因此人们很快将
此事忘得一干二净(又一个心理学问题),于是这个问题一直保留下来,
直到这两位热衷 “考古”的程序员把它挖掘出来。
——《程序开发心理学》中的代码考古,典展开赞过评论1 - 编程为什么有趣?作为回报,它的从业者期望得到什么样的快乐?
首先是一种创建事物的纯粹快乐。如同小孩在玩泥巴时感到愉快一样,成年人喜欢创建事物,特别是自己进行设计。我想这种快乐是上帝创造世界的折射,一种呈现在每片独特、崭新的树叶和雪花上的喜悦1。
其次,快乐来自于开发对其他人有用的东西。内心深处,我们期望其他人使用我们的劳动成果,并能对他们有所帮助。从这个方面,这同小孩用粘土为"爸爸办公室"捏制铅笔盒没有本质的区别。
第三是整个过程体现出魔术般的力量--将相互啮合的零部件组装在一起,看到它们精妙地运行,得到预先所希望的结果。比起弹珠游戏或点唱机所具有的迷人魅力,程序化的计算机毫不逊色。
第四是学习的乐趣,来自于这项工作的非重复特性。人们所面临的问题,在某个或其它方面总有些不同。因而解决问题的人可以从中学习新的事物:有时是实践上的,有时是理论上的,或者兼而有之。
最后,乐趣还来自于工作在如此易于驾驭的介质上。程序员,就像诗人一样,几乎仅仅工作在单纯的思考中。程序员凭空地运用自己的想象,来建造自己的"城堡"。很少有这样的介质--创造的方式如此得灵活,如此得易于精炼和重建,如此得容易实现概念上的设想。(不过我们将会看到,容易驾驭的特性也有它自己的问题)然而程序毕竟同诗歌不同,它是实实在在的东西;可以移动和运行,能独立产生可见的输出;能打印结果,绘制图形,发出声音,移动支架。神话和传说中的魔术在我们的时代已变成了现实。在键盘上键入正确的咒语,屏幕会活动、变幻,显示出前所未有的或是已经存在的事物。
摘录来自
人月神话(二十周年纪念版)
弗雷德里克·布鲁克斯
此材料受版权保护。展开赞过11
![[捂脸]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_28.8981538.png)