在人类所制造的工具中,有的可以将人送上月球,有的可以驾驭原子的火焰,但只有计算机软件,才能透彻的反照人类的心智。
软件是人类心灵和智慧在虚拟空间中的投射。软件性能就是人类能力的扩展,他的活动就是人类心智活动的反映。软件直接表达设计者对目标的理解,对用户的期待,以及对自己的定位。
而在软件设计中往往却有很多的问题。而这些软件设计中的问题其实就是人类自身心灵和智慧的不足在镜子中的倒影。他反应的不仅仅是技术的不足,还包括了科学、艺术、心灵和哲学的不足。
—— 朱天华《Java与模式》
软件工程师本就是在执行编程的过程,而编程的过程又是将物理世界的语言转化为计算机语言。所以它本身就是一种转换,一种认知的转换过程。只有你对一种东西认识较为全面,或者有独特的见解,才能很完整、简洁、准确的描述它。这样别人在听或者看你所说的,写的东西时才能有一个准确的认识。而对一种事物完整的认识,又岂是一件易事,这也是在设计一个软件时消耗的时间往往需要消耗很多时间、空间的因素之一。
当然不同的人看待问题的角度不一样,思考问题的方式也不同,这就注定了每个软件工程师所设计的软件本身就具有不一样的结果。
领取专属 10元无门槛券
私享最新 技术干货