程式設計師的十層樓(7)

cow977發表於2011-03-17

第7層 大師

  從第6層樓爬到第7層樓,並沒有多少捷徑可走,主要看你有沒有足夠的能量。你如果能象Hoare一樣設計出一個快速排序的演算法;或者象Eugene W. Myers一樣設計出了一個用編輯圖的最短路徑模型來解決diff問題的演算法;或者象M.J.D. Powell一樣提出了一個能夠處理非線性規劃問題的SQP方法;或者你發現基於比較的排序演算法,它的複雜度下界為O(NLogN);或者你發現用棧可以將遞迴的演算法變成非遞迴的;或者你設計出一個紅黑樹或者AVL樹之類的查詢結構;或者你設計出一個象C++或Java一樣的語言;或者你發明了UML;…,你就爬到了第7層,晉升為”大師”了。

  上面舉的這些例子中,其中有些人站的樓層比這層高,這裡只是為了形象說明而舉例他們的某個成就。從上面列出的一些大師的貢獻可以看出,成為大師必須要有較大的貢獻。首先解決問題必須是比較重要的,其次你要比前輩們在某方面有一個較大的提高,或者你解決的是一個全新的以前沒有解決過的問題;最重要的是,主要的思路和方法必須是你自己提供的,不再是在別人的思路基礎上進行的最佳化和改進。

  看了上面這些要求,如果能量不夠的話,你也許會覺得有些困難,所以不是每個人都能成為”大師”的。中國軟體業裡能稱得上是”大師”的人,用屈指可數來形容,估計是綽綽有餘。值得一提得是,國外的”大師”就象我們的”大牛”一樣滿天飛的多。

  我把我猜測本國有可能進到這層樓的大師列一下,以起個拋磚引玉的作用。漢王的”手寫識別”技術由於是完全保密的,不知道它裡面用了什麼思想,原創思想佔的比重有多少,因此不知道該把它劃到這層樓還是更高一層樓去。原山東大學王小云教授破解DES和MD5演算法時,用到的方法不知道是不是完全原創的,如果是的話也可進到這層樓來。

  陳景潤雖然沒有徹底解決哥德巴赫猜想,但他在解決問題時所用的方法是創新的,因此也可以進到這層樓來。當然,如果能徹底解決哥德巴赫猜想,那麼可以算到更高的樓層去。

  求伯君和王志東等大牛們,他們在做WPS和表格處理之類的軟體時,不知是否有較大的原創演算法在裡面,如果有的話就算我錯把他們劃到了大牛層。由於所學有限,不知道國內還有那些人能夠得上”大師”的級別,或許有少量做研究的教授、院士們,可以達到這個級別,有知道的不妨回個帖子晾一晾。

  鑑於”大師”這個稱號的光環效應,相信有不少人夢想著成為”大師”。或許你看了前面舉的一些大師的例子,你會覺得要成為大師非常困難。不妨說一下,現在有一條通往”大師”之路的捷徑開啟了,那就是多核計算領域,有大量的處女地等待大家去挖掘。

  以前在單核時代開發的各種演算法,現在都需要改寫成並行的。資料結構與演算法、影像處理、數值計算、作業系統、編譯器、測試除錯等各個領域,都存在大量的機會,可以讓你進到這層樓來,甚至有可能讓你進到更高一層樓去。

 

轉自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-689684/,如需轉載,請註明出處,否則將追究法律責任。

相關文章