感悟 · 2013年11月14日

程序猿的思维方式,与苦恼

  人的大脑,看过解剖图的都知道,就像个长寿面堆叠起来的两个不规则半球,表面堆满了面条的褶皱,据说这些表面褶皱就是大脑思维的地方。

  电脑的大脑呢?我们知道是CPU, 典型的cpu形状是拇指大小的一小平面方块,cpu的“语言”是二进制的。

  一个做项目的的程序猿,要怎么把人脑里的褶皱产生的想法在电脑上顺利执行起来呢?

  • 第一步,有个人产生了一个idea, 也许是“我要共享我的相册“,也许是”我要帮所有人处理办公文件“,
  • 第二步,有个产品经理或是谁按这个idea——别忘了,这个idea背后复杂的人脑褶皱——设计实现这个想法的产品,他们把idea描述成能看得见的有什么东西,能听得见得有什么东西,可以用的有什么东西,此时,我们有了一个产品设计,这个东西抛弃了人脑的恐怖褶皱,开始变得像个毛线球,总算有了个规则的球形,只不过你想要理清得话,毛线可不答应,你都搞不懂里面有几根毛线!
  • 第三步, 接着又有个人,使用各种工具,把这个毛线团各种细节理清,形成文档,部分毛线与毛线之间被拉平扯平,我们终于有了个像样得形状,球形表面上分布着各种平面,如果这个工作干得好,这个球体就会像足球那样规则,能踢能跑能跳,很美好,可惜现实是大部分都是各种不规则平面组成得球体
  • 第四步, 接下来程序员来了,程序员要把这个球体解体,先解成大的几块,再把每部分解成小的几块, 争取让每小块都不超过六个平面,像个长方体,因为球体不规则,解下来的长方体歪歪斜斜,各种不规则。
  • 第五步, 把这一小块一小块长方体切片,理想情况是得到各种长方体切片,但现实是各种歪歪斜斜的四边形,到了这个步骤,程序缘终于可以扁平化的思维给用代码来实现了! 利用各种框架和算法,来纠正不规则四边形的不规则,使之变成正方形,让二进制的电脑可以明白“我要怎么做”

  听起来程序猿干得也不多嘛,但你要注意,从第一步到第五步,之间的沟通用得全是人类自然语言,也就是说,但凡第5步之前有了改动,程序员都要让自己大脑的褶皱先以毛线团方式再到以四边形的程序语言来思考!

  更何况,除了那些人员齐备的团队,很多小公司的程序员与那些程序员创业者,要一个人经历从第二步到第五步。这就像把你的大脑先压成毛线团球形,再拍扁成足球, 再分裂成好几块,再循环让大脑适应各种步规则长方体,再切片成各种步规则四边形,再把四边形拍扁成正方形!