今天读到乐观主义书中提到:
所有的编程人员都是乐观主义者。可能是这种现代魔术特别吸引那些相信美满结局的人;也可能是成百上千琐碎的挫折 赶走了大多数人,只剩下了那些习惯上只关注结果的人。还可能是因为计算机还很年轻,程序员更加年轻,而年轻人总是些乐观主义者———无论是什么样的程序,结果是毋庸置疑的:这次它肯定会运行,或者:我刚刚找出了最后一个错误。其实,由于物理介质和思路中隐含的不完善性,实际时下起来需要花费大量的时间和汗水。只不过是我们的骄傲使判断带上了主观主义色彩。然而,计算机编程基于十分容易掌握的介质,编程人员通过非常纯粹的思维活动—— 概念以及灵活的表现形式来开发程序。正是由于介质的易于驾驭,我们期待在实现过程中不会碰到困难,因此造成了乐观主义的弥漫。而我们的构思是有缺陷的,因此总会发现bug。也就是说,我们的乐观主义并不应该是理所应当的。在单个的任务中,“一切都将运转正常”的假设在进度上具有可实现性。因为所遇到的延迟是一个概率分布曲线,“不会延迟”具有限定的概率,所以现实情况可能会像计划安排的那样顺利。然而大型的编程工作,或多或少包含了很多任务,某些任务间还具有前后的次序,从而一切正常的概率变得非常小,甚至接近于零。
个人感受:
读了这些关于乐观主义的话之后,我发现这不就是我吗?每次开发程序的时候都很乐观,这次运行肯定没问题——这是我常有的心理,然后往往运行就会出现好多错误,我保证这是我找出的最后一个错误——————然后我解决了之后发现又因为改动出现了新的错误。在这些问题面前我的确是一个乐观主义者,忽略了文中所说的物理介质和思路中隐含的不完善。
在编程过程中,乐观主义的弥漫是不符合这个专业学生的要求的,我考虑问题应该更加全面谨慎。不能因为自己的骄傲带上主观主义色彩。
今后适当的乐观必不可少,但是不能让乐观主义弥漫。