又来算法和OO

09-10-24 crycz
    

自从昨天注册到现在,看到最多的帖子是关于算法和OO的,而且把这些主题的帖子都看完了,

眼睛都痛了,哈哈,本人从事软件开发三年多,看到这些都忍不住浮水了

讨论很是激烈,我煞是欣喜,没见过这么活跃的论坛,而且也很高水平

我想我是应该理解版主的观点的,思想确实挺好的,不过有时候版主会有点片面,

让人觉得有点称大师的风范,让人觉得稍张;但也有部分的人比较底纸,井底之蛙了。

不过banq大哥也还是比较有风范的

这里谈谈我的看法

首先,算法是重要,是基础,这一点banq也没有否定。他一再强调在今天软件开发中,算法,java基础学了之后就要跳出来,站在更高的角度去看问题,是什么?就是oo思想,模式。这点就我的目前的看法是没有问题的。

打个比方,看过《李小龙传奇》的人就知道,李的师傅叶问就是咏春拳的创始人,主要特点是短距离杀伤力(不知道有没有记错),这里的咏春拳就好比算法,还有叫李每天跑五公里的路也是基础,也是算法。但是境界越来越高的时候,李发现咏却不能克服跆拳道的刚,又不能克服柔术的柔。渐渐李小龙发明了一种新的中国武术-截拳道,截拳道确确切地说不是一种武术,是一种思想,是武术的更高境界,他就运用了道家哲学的阴阳之道来将武术简单地分为攻与守,后来更简单地上升为一种道。这里的截拳道应该就是OO、模式了,但是截拳道是以咏春拳为基础的,又不拘泥于咏春拳的招式,曾因为这个被叶问及其同行武术专家说为背叛师门。他的截拳道后来溶入了跆拳道的招式,剑术、柔术、泰拳等等,在这过程中他吸取了百家之长,最终又战胜了这些。在这我反问一下,如果当初李没有跳出来,继续一味的修炼咏春拳最多也就是发明了咏春拳V2版本,也绝不会有截拳道了。他的截拳道才能更好地解决新招式,解决新问题。事实证明了这种思想的长处要胜于咏原有的招式。

其次,思想、模式更重要,尤其表现在企业级应用方面的软件中。大家都知道中国的软件没有大牌公司,我认为也是思想问题,教育问题。论智商,十亿人口大国不可能没有人比不过老外,论研究精神也不可能逊于外国。中国人算法和数学很厉害的人全拉去奥林区克大赛,每一次的奥赛大奖中国可谓是数一数二,老外是很少,出来以后就科学研究,一味地研究。可是中国的诺贝尔奖为什么又是曲指可数呢?归根到底是思想问题。

第三,精通算法的人应该不能做软件架构师,不能领导软件的发展方向,反之精通OO、模式的人就可以。引用一句话:没有实践就没有发言权(不知道是不是毛主席说的话了,见笑),有些人纵使你是算法,数学高手,你在公司充其量是高级软件开发工程师,没有接触到OO,不太理解思想的,就请别太偏激,让人觉得你是井底之蛙。至于有些人问为什么考试、很多公司面试都考算法呢,我想这是比较容易把握的度,对应届生而言考OO,考思想那是比较难把握,再说面试官本身在OO上就不好说;第二,也是考察智商的一种途径之一。所以不能因为面试算法就过度强调他的重要性。

本文是我看了这么多帖子的感想,也是这几年工作的想法,就当是抛砖引玉。

有不当之处可以讨论,不要人身攻击就行,哈哈

[该贴被crycz于2009-10-24 15:17修改过]

    

fireyun0218
2009-10-25 13:57

哈哈,虽然我想在论坛里我属于最没有发言权的菜鸟,很我同意楼主的看法,只精通算法的只能称职为称职的程序员,而精通OO思想的才能成为真正的大师。虽然入这个论坛才几天,但我感觉到学到好多东西,感谢bang老师和各位大师的精彩讨论!!!

fireyun0218
2009-10-25 13:59

哈哈,虽然我想在论坛里我属于最没有发言权的菜鸟,很我同意楼主的看法,只精通算法的只能称职为称职的程序员,而精通OO思想的才能成为真正的大师。虽然入这个论坛才几天,但我感觉到学到好多东西,感谢bang老师和各位大师的精彩讨论!!!

ACoder
2009-10-25 14:08

可以推断 图灵奖 获得者都是程序员。严重崩溃中。

freebox
2009-10-29 14:31

IMO厉害的到后来转型不一定转得好,中学和大学还是有很大的区别。王菘(某届IMO获奖者)有一篇文章很好地说明过这个问题,可惜我没有留下那篇文章的地址。

考试好的不一定就会解题,解题好的不一定就适合搞研究,研究搞得好的也不一定就能让他的成果变成大众认可的简单易用的产品。

算法绝不是只适用于小规模的底层把戏,OO也不是只能从整体上解决问题。我觉得在什么问题下用什么方案解决才是正确的选择。如果用户有个评分制度是没有现成方案的,难道不要为这个评分专门设计算法吗?如果需要在有排序接口的对象上为集合排序,也不必放弃这个对象拥有的职责再实现一次快排。

2Go 1 2 下一页