最近看重新看 <代码大全>, 以前我只是在接收作者传达的信息,思考的却不多。这次看到软件隐喻的时候,突然有个问题冒出来,为什么把软件开发隐喻放到前面?
软件开发隐喻
软件开发应该是什么样子?,由于软件开发是人们以往不熟悉的过程,所以才会拿其他领域来类比。比如拿书写类比,拿作物生长类比,拿建筑类比,拿作画过程类比(黑客与画家),这种对新事物的认识,一百多年前物理学上也有过,人们在探究光是什么的时候,将之与波做比较,将之与粒子做类比。
软件开发的是什么?
隐喻提供了很好的认识过程,和思考方法,但是请记住,我们是通过隐喻来认识软件开发,软件开发和各个隐喻之间有关系.但软件开发不会是任何一个隐喻,他就是自己本身,他有自己的特点.如果你觉得软件开发过程和实际不一样,请修正你的认识,而不是说软件开发本身有什么不对,就像人们最初对光的认识,忘本身是拿波和粒子去比较,而不是光本身.
我们使用隐喻或者模型提供的是一种思考和认识方式.