又来算法和OO
自从昨天注册到现在,看到最多的帖子是关于算法和OO的,而且把这些主题的帖子都看完了,
眼睛都痛了,哈哈,本人从事软件开发三年多,看到这些都忍不住浮水了
讨论很是激烈,我煞是欣喜,没见过这么活跃的论坛,而且也很高水平
我想我是应该理解版主的观点的,思想确实挺好的,不过有时候版主会有点片面,
让人觉得有点称大师的风范,让人觉得稍张;但也有部分的人比较底纸,井底之蛙了。
不过banq大哥也还是比较有风范的
这里谈谈我的看法
首先,算法是重要,是基础,这一点banq也没有否定。他一再强调在今天软件开发中,算法,java基础学了之后就要跳出来,站在更高的角度去看问题,是什么?就是oo思想,模式。这点就我的目前的看法是没有问题的。
打个比方,看过《李小龙传奇》的人就知道,李的师傅叶问就是咏春拳的创始人,主要特点是短距离杀伤力(不知道有没有记错),这里的咏春拳就好比算法,还有叫李每天跑五公里的路也是基础,也是算法。但是境界越来越高的时候,李发现咏却不能克服跆拳道的刚,又不能克服柔术的柔。渐渐李小龙发明了一种新的中国武术-截拳道,截拳道确确切地说不是一种武术,是一种思想,是武术的更高境界,他就运用了道家哲学的阴阳之道来将武术简单地分为攻与守,后来更简单地上升为一种道。这里的截拳道应该就是OO、模式了,但是截拳道是以咏春拳为基础的,又不拘泥于咏春拳的招式,曾因为这个被叶问及其同行武术专家说为背叛师门。他的截拳道后来溶入了跆拳道的招式,剑术、柔术、泰拳等等,在这过程中他吸取了百家之长,最终又战胜了这些。在这我反问一下,如果当初李没有跳出来,继续一味的修炼咏春拳最多也就是发明了咏春拳V2版本,也绝不会有截拳道了。他的截拳道才能更好地解决新招式,解决新问题。事实证明了这种思想的长处要胜于咏原有的招式。
其次,思想、模式更重要,尤其表现在企业级应用方面的软件中。大家都知道中国的软件没有大牌公司,我认为也是思想问题,教育问题。论智商,十亿人口大国不可能没有人比不过老外,论研究精神也不可能逊于外国。中国人算法和数学很厉害的人全拉去奥林区克大赛,每一次的奥赛大奖中国可谓是数一数二,老外是很少,出来以后就科学研究,一味地研究。可是中国的诺贝尔奖为什么又是曲指可数呢?归根到底是思想问题。
第三,精通算法的人应该不能做软件架构师,不能领导软件的发展方向,反之精通OO、模式的人就可以。引用一句话:没有实践就没有发言权(不知道是不是毛主席说的话了,见笑),有些人纵使你是算法,数学高手,你在公司充其量是高级软件开发工程师,没有接触到OO,不太理解思想的,就请别太偏激,让人觉得你是井底之蛙。至于有些人问为什么考试、很多公司面试都考算法呢,我想这是比较容易把握的度,对应届生而言考OO,考思想那是比较难把握,再说面试官本身在OO上就不好说;第二,也是考察智商的一种途径之一。所以不能因为面试算法就过度强调他的重要性。
本文是我看了这么多帖子的感想,也是这几年工作的想法,就当是抛砖引玉。
有不当之处可以讨论,不要人身攻击就行,哈哈
[该贴被crycz于2009-10-24 15:17修改过]