又來演算法和OO

crycz發表於2009-10-24
自從昨天註冊到現在,看到最多的帖子是關於演算法和OO的,而且把這些主題的帖子都看完了,
眼睛都痛了,哈哈,本人從事軟體開發三年多,看到這些都忍不住浮水了
討論很是激烈,我煞是欣喜,沒見過這麼活躍的論壇,而且也很高水平
我想我是應該理解版主的觀點的,思想確實挺好的,不過有時候版主會有點片面,
讓人覺得有點稱大師的風範,讓人覺得稍張;但也有部分的人比較底紙,井底之蛙了。
不過banq大哥也還是比較有風範的
這裡談談我的看法
首先,演算法是重要,是基礎,這一點banq也沒有否定。他一再強調在今天軟體開發中,演算法,java基礎學了之後就要跳出來,站在更高的角度去看問題,是什麼?就是oo思想,模式。這點就我的目前的看法是沒有問題的。
打個比方,看過《李小龍傳奇》的人就知道,李的師傅葉問就是詠春拳的創始人,主要特點是短距離殺傷力(不知道有沒有記錯),這裡的詠春拳就好比演算法,還有叫李每天跑五公里的路也是基礎,也是演算法。但是境界越來越高的時候,李發現詠卻不能克服跆拳道的剛,又不能克服柔術的柔。漸漸李小龍發明了一種新的中國武術-截拳道,截拳道確確切地說不是一種武術,是一種思想,是武術的更高境界,他就運用了道家哲學的陰陽之道來將武術簡單地分為攻與守,後來更簡單地上升為一種道。這裡的截拳道應該就是OO、模式了,但是截拳道是以詠春拳為基礎的,又不拘泥於詠春拳的招式,曾因為這個被葉問及其同行武術專家說為背叛師門。他的截拳道後來溶入了跆拳道的招式,劍術、柔術、泰拳等等,在這過程中他吸取了百家之長,最終又戰勝了這些。在這我反問一下,如果當初李沒有跳出來,繼續一味的修煉詠春拳最多也就是發明了詠春拳V2版本,也絕不會有截拳道了。他的截拳道才能更好地解決新招式,解決新問題。事實證明了這種思想的長處要勝於詠原有的招式。
其次,思想、模式更重要,尤其表現在企業級應用方面的軟體中。大家都知道中國的軟體沒有大牌公司,我認為也是思想問題,教育問題。論智商,十億人口大國不可能沒有人比不過老外,論研究精神也不可能遜於外國。中國人演算法和數學很厲害的人全拉去奧林區克大賽,每一次的奧賽大獎中國可謂是數一數二,老外是很少,出來以後就科學研究,一味地研究。可是中國的諾貝爾獎為什麼又是曲指可數呢?歸根到底是思想問題。
第三,精通演算法的人應該不能做軟體架構師,不能領導軟體的發展方向,反之精通OO、模式的人就可以。引用一句話:沒有實踐就沒有發言權(不知道是不是毛主席說的話了,見笑),有些人縱使你是演算法,數學高手,你在公司充其量是高階軟體開發工程師,沒有接觸到OO,不太理解思想的,就請別太偏激,讓人覺得你是井底之蛙。至於有些人問為什麼考試、很多公司面試都考演算法呢,我想這是比較容易把握的度,對應屆生而言考OO,考思想那是比較難把握,再說面試官本身在OO上就不好說;第二,也是考察智商的一種途徑之一。所以不能因為面試演算法就過度強調他的重要性。
本文是我看了這麼多帖子的感想,也是這幾年工作的想法,就當是拋磚引玉。
有不當之處可以討論,不要人身攻擊就行,哈哈

[該貼被crycz於2009-10-24 15:17修改過]

相關文章