中国人总喜欢谈论这也可能那也可能,好像一切都是可变的,但,也有可能是中国人喜欢自诩聪明,显现自己能够处理复杂的问题。但是,我在这里要辩论的事情是,中国人总喜欢倾向于将事情给复杂化,造成只有超时代的天才才能作事情,而没有这个才能的最好什么都不要作,因为你做了,有可能会因为这你考虑不到、那你考虑不到而出现错误,呵呵!中国人的思想感觉很多时候,将人的创造力给束缚了,不是一种鼓励的氛围,不看重在不断发展中完善自我。
我想说,在计算机界如果经常将“这也可能,那也可能”放在嘴边的程序员,我想他一定不是一个计算机高手,因为计算机高手懂得在变化中寻找相对不变的,来建造他程序的骨架,来建立他程序的逻辑;如果一切都是可变的,什么代码最好你就不要乱写了,因为只要你程序写出来,必然有一定的东西是死的。例如,你写了一个加法程序,这个程序一经写出,那么它有些逻辑必定是固定和死的,是很难来适应变化,而在变化中来处理求平方根的算法,呵呵!我可能有一个猜想,就是事物的发展一定有一些不变、且固定的根基,不可能下面全部是流沙,随时随地都有可能变化!如果变化性太强,就什么都干不了。这也是大家很少看到在流沙上能盖什么建筑的原因。即使法国人在土耳其搭建起来号称建立难度最大的大桥,也是在打入地球内部几百米、脱离流沙层,建立起稳定的桩,才能搭建起来的工程。在计算机世界中,我们也可以经常发现递归总有出口,算法总是有限、有界!
我想说,说“这也可能,那也可能”观点的程序员,往往项目经验不多,而且也往往是不能够做好的项目的程序员,因为他不懂得权衡、不懂得取舍!这些人总喜欢在数学根基上最好解决一切问题,其实在实际中,许多东西只要达到工程上的可行就可以实施了,而不是百分之百的不败!例如,在建筑工程上,一般意义上不能要求房子要能防得住8级以上的地震,因为追求在数学上绝对正确,往往是有很大的代价。可以想象,如果所有的房子都盖得能够处理很强的震级,估计大家没有几个能够住上房子的,都在盼望安得广厦千万间,大庇天下寒士举欢颜!从编程的角度上来讲,我们程序如果能够处理一切的场景,那么我们程序有很大的可能性变得很复杂,而难于继续前行,坚持程序处理中的“二八”原则即可,遇到20%的情况简单出错即可,而不需要把所有的情况都处理得十分完备。就象在编译器编译程序时,我们经常会看到很多处理的最后一步必是abort()函数,非常强的函数,什么都不处理,就是立马中止执行,呵呵!所以,我们往往要做到数学上绝对正确与在工程上可行之间的折中。
中国传统智慧中有很多不适合现代计算机编程的方面,西方现代社会的发展从某种意义上来讲是来自工程蓬勃发展的成功所塑造出来,大家有时要注意!
我想说,在计算机界如果经常将“这也可能,那也可能”放在嘴边的程序员,我想他一定不是一个计算机高手,因为计算机高手懂得在变化中寻找相对不变的,来建造他程序的骨架,来建立他程序的逻辑;如果一切都是可变的,什么代码最好你就不要乱写了,因为只要你程序写出来,必然有一定的东西是死的。例如,你写了一个加法程序,这个程序一经写出,那么它有些逻辑必定是固定和死的,是很难来适应变化,而在变化中来处理求平方根的算法,呵呵!我可能有一个猜想,就是事物的发展一定有一些不变、且固定的根基,不可能下面全部是流沙,随时随地都有可能变化!如果变化性太强,就什么都干不了。这也是大家很少看到在流沙上能盖什么建筑的原因。即使法国人在土耳其搭建起来号称建立难度最大的大桥,也是在打入地球内部几百米、脱离流沙层,建立起稳定的桩,才能搭建起来的工程。在计算机世界中,我们也可以经常发现递归总有出口,算法总是有限、有界!
我想说,说“这也可能,那也可能”观点的程序员,往往项目经验不多,而且也往往是不能够做好的项目的程序员,因为他不懂得权衡、不懂得取舍!这些人总喜欢在数学根基上最好解决一切问题,其实在实际中,许多东西只要达到工程上的可行就可以实施了,而不是百分之百的不败!例如,在建筑工程上,一般意义上不能要求房子要能防得住8级以上的地震,因为追求在数学上绝对正确,往往是有很大的代价。可以想象,如果所有的房子都盖得能够处理很强的震级,估计大家没有几个能够住上房子的,都在盼望安得广厦千万间,大庇天下寒士举欢颜!从编程的角度上来讲,我们程序如果能够处理一切的场景,那么我们程序有很大的可能性变得很复杂,而难于继续前行,坚持程序处理中的“二八”原则即可,遇到20%的情况简单出错即可,而不需要把所有的情况都处理得十分完备。就象在编译器编译程序时,我们经常会看到很多处理的最后一步必是abort()函数,非常强的函数,什么都不处理,就是立马中止执行,呵呵!所以,我们往往要做到数学上绝对正确与在工程上可行之间的折中。
中国传统智慧中有很多不适合现代计算机编程的方面,西方现代社会的发展从某种意义上来讲是来自工程蓬勃发展的成功所塑造出来,大家有时要注意!