>面向对象和面向对象本质上都是对数据做操作,数据+算法=程序,这是不变的本质
这个非常不认同,不能说面向对象本质是对数据操作,数据+算法!=程序,可以这么说: 数据+算法=科学计算程序
加个定语,但也不一定准确,其实科学计算程序也是需要维护的,除非这个科学计算程序是做样子的,做出来就宣布填补空白,然后就不发展,这样可以适用这个等式。
数据+算法可以组成一个能够运行的程序,但是程序只能运行就可以了吗?如果是,那么我们谈模式 谈架构这些干什么呢?我们需要软件的维护性拓展性干什么呢?其实很多软件外行人都存在对软件错误认识,以为软件做出来就可以了,科学界是被国家养的,可以玩些欺骗花样,管理软件 企业软件 网络软件的老板可是私人老板,不是做出来就可以的,还是要不断发展改变,甚至改变发展的成分大于原来的,因为企业和应用需求是不断变化的,如果有人搞出算法能够对付万千变化,那么他超过爱因斯坦 霍金,他们一直致力于TOE万有定理的推算,等TOE出来,你们再叫嚷,用XXX算法可以对付一切变化了,我看你那时也成了上帝,有这种观点的人就是老子所称的愚民。
其实大家从教科书得出这个幼稚的认识是正常的,这也不是靠我在这里呼吁就能改变的,我人轻言微,我是狗屎,不想再说,不过,只要“数据+算法=程序”在Jdon出现一次,我就骂它个臭狗屎(注意 不是骂人,是骂这个观点,尊重每个人发表观点,来Jdon也是讨论学习的,都平等)。
到底什么是软件不变的本质?只有应付变化的方法手段才是不变的本质,但是为什么我们有人看本质看错了呢?还是因为“数”的影响,线是由点数组成,所以有人就说:线的本质是点数,可是我们如果谈论一个没有任何意义的线,还去研究它本质,本身就是愚人做法,我们要看到线背后的“无”,大象无形,不要因为无形,你就不认为它存在,甚至本末倒置,这就是盲人摸象,一叶障目成语由来。
btw:这里有一个小故事:
1687年,牛顿出版了自己最著名的著作《自然哲学的数学原理》,在这本深奥难懂的书中,牛顿用数学方法证明了万有引力定律和三大运动定律,这四大定律被认为是“人类智慧史上最伟大的一个成就”(banq按:这是数的成就),然而这个著名的科学家在12年之后成为了英国皇家铸币局的局长,并工作长达30年之久,1717年,牛顿将黄金价格定为每金衡盎司3英镑17先令10又二分之一便士。从此英镑按黄金固定了价格。
后来出现“南海泡沫”,连大名鼎鼎的科学家牛顿也禁不住购买了蓝海公司股票,当年作为皇家铸币局局长的牛顿年薪为2000 英镑,这笔钱能够建造4个格林威治天文台,然而随着蓝海股票泡沫破裂,牛顿损失超过2万英镑,事后,他不无伤感地写道:我可以准确地计算出天体的运动规律,但我却无法计算出股票市场的变化趋势。
从这个故事看出,软件需求的变化和股票市场变化是一样纷乱没有规律(在当前人类有限“数”能力前提下),但是这不代表我们不能从事软件开发和股票投资,只是必须在这个时候需要象数结合。
搞数学搞多了的人都强调直觉,其实直觉和数学是矛盾的,前者是象后者是数,这些都说明,在对付变化上面,只有“数”算法是不够的,算法能完成某个伟大功能,但是不能应付未来变化,这是基本科学常识,正是因为其具化,就不可能泛化。
真是,我现在成了中学教师,普及基础哲学常识,其实这些道理应该学校老师教的,结果现在应试教育和学好数理化,走遍天下都不怕的教育畸形,很多人中学毕业了,对待科学什么能,什么不能都不知道,盲目迷信科学了,这也是迷信啊。
[该贴被banq于2009-04-06 16:04修改过]