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

cow977發表於2011-03-16

第6層 學者

  當”專家”們想繼續往上一層樓爬時,他們幾乎一眼就可以看到樓梯的入口,不過令他們吃驚的是,樓梯入口處豎了一道高高的門檻,上面寫著”創新”二字。不幸的是,大多數人在爬到第5層樓時已經體能消耗過度,無力翻過這道門檻。

  有少數體能充足者,可以輕易翻越這道門檻,但是並不意味著體力消耗過度者就無法翻越,因為你只是暫時還沒有掌握恢復體能的方法而已,當掌握了恢復體能的方法,將體能恢復後,你就可以輕易地翻越這道門檻了。

  怎麼才能將體能恢復呢?我們的老祖宗”孔子”早就教導過我們”溫故而知新”,在英文裡,研究的單詞是”research”,其字首”re”和”search”分別是什麼意思不用我解釋吧。或許有些人覺得”溫故而知新”和”research”有些抽象,不好理解,我再給打個簡單的比方,比如你在爬一座高山,爬了半天,中途體力不支,怎麼恢復體力呢?自然是休息一下,重新進食一些食物,體力很快就可以得到恢復。

  由此可知,對體能消耗過度者,休息+重新進食通常是恢復體能的最佳選擇。可惜的是,國內的老闆們並不懂得這點,他們的公司裡不僅連正常國家規定的休息時間都不給足,有些公司甚至有員工”過勞死”出現。所以國內能翻越”創新”這道門檻的人是”少之又少”,和西方比起來估計是數量級的差別。

  再說說重新進食的問題,這個重新進食是有講究的,需要進食一些基礎性易消化的簡單食物,不能進食山珍海味級的複雜食物,否則很難快速吸收。以查詢為例,並不是去天天盯著那些複雜的查詢結構和演算法進行研究,你需要做的是將二分查詢、雜湊查詢、普通二叉樹查詢等基礎性的知識好好地複習幾遍。

  以雜湊查詢為例,首先你需要去將各種衝突解決方法如鏈式結構、二次雜湊等編寫一遍,再試試不同種類的雜湊函式,然後還需要試試在硬碟中如何實現雜湊查詢,並考慮資料從硬碟讀到記憶體後,如何組織硬碟中的資料才能快速地在記憶體中構建出雜湊表來,…,這樣你可能需要將一個雜湊表寫上十幾個不同的版本,並比較各個版本的效能、功能方面的區別和適用範圍。

  總之,對任何一種簡單的東西,你需要考慮各種各樣的需求,以需求來驅動研究。最後你將各種最基礎性的查詢結構和演算法都瞭然於胸後,或許某天你再看其他更復雜的查詢演算法,或者你在散步時,腦袋裡靈光一現,突然間就發現了更好的方法,也就從專家晉升為”學者”了。

  學者所做的事情,通常都是在前人的基礎上,進行一些小的最佳化和改進,例如別人發明了鏈式基數排序的方法,你第1個發現使用一定的方法,可以用陣列替代連結串列進行基數排序,效能還能得到進一步提高。

  由於學者需要的只是一些小的最佳化改進,因此中國還是有一定數量的學者。不過和國外的數量比起來,估計少了一個數量級而已。

  也許有人會覺得現在中國許多公司申請專利的數量達到甚至超過西方已開發國家了,我們的學者數量應該不會比他們少多少。因此,有必要把專利和這裡說的創新的區別解釋一下。

  所謂專利者,只要是以前沒有的,新的東西,都可以申請專利;甚至是以前有的東西,你把他用到了一個新的領域的產品裡去,也可以申請專利。比如你在房子裡造一個水泥柱子,只要以前沒有人就這件事申請專利,那麼你就可以申請專利,並且下次你把水泥柱子挪一個位置,又可以申請一個新的專利;或者你在一個櫃子上打上幾個孔,下次又把孔的位置改一改,…,均可申請專利。

  這層樓裡所說的創新,是指學術層面的創新,是基礎研究方面的創新,和專利的概念是完全不同的,難度也是完全不同的。你即使申請了一萬個象那種打孔一類的專利,加起來也夠不到這層樓裡的一個創新。

  當你爬到第6層樓時,你也許會有一種突破極限的快感,因為你終於把那道高高的寫著”創新”二字的門檻給翻過去了,實現了”0″的突破。這時,你也許有一種”獨上高樓,慾望盡天涯路”的感覺,但是很快你會發現看到的都是比較近的路,遠處的路根本看不清楚。如果你還有足夠的體力的話,你會想爬到更高一層的樓層去。

 

 

轉自:

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

相關文章