左腦與右腦,新手與專家 讀《程式設計師的思維修煉》

2022-07-05 16:18:11 字數 2149 閱讀 7108

新手與專家在思考問題時的區別是什麼?他們的思考過程是如何進行的?如果你能輕鬆回答這兩個問題,就可以略過這篇文章了。

有意思的是,這兩個cpu都可以用來分析問題。對於新手來說,他們在解決問題時往往需要分析出問題的結構,待解決的問題,關鍵點,需要用的時間等等。對於專家來說,他們不需要分析問題,通過粗略估計就能夠說出問題的關鍵點和所需時間,而他們的估計也往往是正確的。

新手與專家的區別就在於思考問題時使用的大腦半球不同。

在研究這個問題之前,讓我們先來認識一下德雷福斯模型。對於任何乙個領域,從新手到專家都有5個階段。階段1:新手。新手沒有經驗,需要按照規則去幹活。如看著菜譜炒菜。階段2:高階新手。高階新手會根據掌握的知識去嘗試任務,但不能解決問題。我們的業餘愛好多停留在這兩個水平。階段3:勝任者。勝任者能建立問題的概念模型,獨立解決問題,並思考如何解決新問題。這一水平的人通常是乙個團隊的領導者,被認為足智多謀。可以感覺到,勝任者對於基本知識已經足夠熟悉,他已經不必再用左腦去思考這些知識了。更多的,他是在用右腦去思考巨集觀上面的大局方向。階段4:精通者。精通水平的人員有一項重大突破:他們能夠糾正以往不好的工作表現,自我改進也是從這個階段開始的。精通水平的人知道什麼地方會出錯,他們有經驗和判斷力,知道下一步會發生什麼。階段5:專家佔總人數的1%-5%。他們根據直覺工作,不需要理由。

從新手到專家,就是從規則到直覺,從細節到整體,從左腦到右腦的過程。如果你在打羽毛球時還在想反手後場的步法是什麼,正手劈打小球的動作要領是什麼,那麼你還停留在左腦思考的水平上。高手打球是不需要思考的,下意識的動作就能夠擊敗對手。

昨天我有幸看到了這篇文章,其思想和本書如出一轍,其中有乙個小故事講得真好,一定要看。

文中提到skilled的反義詞是什麼?不是unskilled,而是

problem solving

。仔細一想說的太對了,在我們初學程式設計時,就是乙個

problem solving

的過程,我們要解決語法等很多問題。當我們熟練之後,我們要解決的問題就變成了「完成這個工作需要什麼演算法」,等我們的水平再高一點後,我們會思考這個系統的結構要怎麼設計?其實這就是乙個從左腦思維到右腦思維的轉變,當你已經不需要再去思考怎麼解決這個問題的時候,你就是這個問題的專家了。

從左腦思維到右腦思維的過程實際上是乙個重複性訓練的過程。曾經有乙個實驗研究過人腦的被動記憶,我忘了叫做什麼,大意如下:「經過統計,人腦在無意識的情況下所接受的東西,平均需要重複6次才能夠記住」後來這個定理被廣泛應用到了電視廣告之中,恆源祥和腦白金之所以讓人們記憶深刻也是因為這個原因。所以,要想成為專家,就必須大量重複地做你的工作。例如在學習opencv時,要想掌握乙個新函式的用法,最快的捷徑就是重複地使用它。

說一點題外的,書中說到的極限程式設計也有同樣的思想。二個人一起程式設計,乙個人寫,乙個人看。乙個負責細節,乙個負責整體,這樣工作往往效率很高。因為如果乙個人寫程式的時候不能兼顧整體和細節,2個cpu共享乙個記憶體,二者不能同時訪問。我們在寫完乙個函式時,常常會停下來看看程式結構,這時人腦是要切換cpu的。切換會所造成思維不連續,而這就是二人程式設計的優勢。

另外我也十分欣賞書中的說法:「

人腦具有很強的可塑性,人腦越用越聰明。某些理論認為人出生時腦細胞是最多的,隨著年齡增長,腦細胞會越來越少,這只是一些客觀的實驗室資料所得到的結論,不代表所有人的共性。」

人腦的神經網路是乙個反饋系統,你使用越多的地方,它的網路就越密集,這個部位就越發達,而這種發達又能促使你更簡單有效地使用它。這個反饋迴圈有利有弊,對於好習慣,我們不斷的重複它,能夠加強這個迴圈,使好習慣越來越好。但是對於壞習慣也是如此,乙個壞習慣往往比好習慣更有效地加強這個迴圈。如果你明白了人腦的原理,改掉壞習慣也就不難了,試著從這個壞迴圈裡引出一條岔路,把它指向好習慣,然後一點一點修正它。如果大腦起動了壞迴圈,就在它執行到這條岔路時break掉,然後執行好的習慣。例如睡懶覺是個壞習慣,我們可以約朋友進行晨跑來改掉它。只要堅持每天把壞習慣從岔路引向好習慣,讓大腦的神經聯絡逐漸習慣這條岔路,久而久之,壞習慣就可以改掉了。

對於不常使用的那部分大腦,神經聯絡會越來越少,人的思維定式會越來越嚴重,這才是腦細胞減少的原因。所以,我們要全面的使用大腦,做一些你不熟悉的事情,改變一些生活規律,讓大腦越用越發達。如:自學一門新的學科,吃你不愛吃的菜,換一條路回家,改變你刷牙的順序,用左手完成右手的工作,玩解謎遊戲。不停的嘗試新鮮事物,才能讓大腦越來越年輕。

讀《程式設計師的道與術》 程式之道部分的感受

閱讀 程式設計師的道與術 程式之道部分後我對於我現在學習程式設計的路線感到擔憂並迫切的想要改變它。我目前的學習狀態是,儘管知曉自己程式設計能力很弱,儘管有很多的時間給我去自學,但還是把時間花在了玩樂上,程式設計並不能給我精神上帶來愉悅的刺激,而興趣也由此降低了,由此我想在培養乙個程式設計師的路上,學...

頂尖程式設計師與普通程式設計師的區別

普通程式設計師認為自己與頂尖程式設計師的區別,主要是頂尖程式設計師任何功能都能編碼實現,編碼速度快,無 bug。正如一慣的那樣,普通程式設計師之所以普通,正是因為他們勉強能看到 或者根本看不到 事物的表象而看不到本質。頂尖程式設計師專業度 1 精通 除錯 debug 很多人在寫 的過程中,經常會有的...

程式設計師與程式設計師之間碰撞的火花

程式設計師與程式設計師的搭配指數 如果程式設計師找了個程式設計師女朋友,他們之間可能是這樣的 聊天時,你是我物件麼?男程式設計師詫異,心疼的把她緊緊摟在懷裡,說 沒事吧?我當然是你物件。他女友嫣然一笑 那好,過來,接下來我要將你例項化成一工具,再呼叫一下in out方法,沒意見吧?也可能是這樣的 在...