作为程序员,我们每次解决的问题都是需要一个或者多个假设前提,否则很多事情就没有办法做。
而现实中的出现的问题并不总是符合我们的假设,要命的是一些人并不认为有什么样子的假设前提,而是觉得计算机即使不是万能的,也是九千能的,因此如果做不出来或者做的不够好,就是程序员不够qualify。
而作为程序员,特别是缺少管理经验或者商业头脑(在公司里面,是不是需要把自己的观点推销出去?),不懂得妥协的人,经常把自己负责的模块当作自己的脸面,希望把它做得漂漂亮亮,人见人爱,放之四海而皆准,于是就要思前想后,要把所有情况都要考虑到,都handle到。进度可想而知。
其实我们的程序所虚拟出来的世界,只是现实世界的一个切面,一个很小的切面,因此在完成一个任务时需要清楚我们的假设前提是什么,我们需要解决的问题是什么,然后才能有限度的解决这个虚拟世界中的一个问题。而不是不管什么,装到篮子里的都叫菜。