為什么要采納這樣的學(xué)習(xí)方法呢侈询?
一般人學(xué)習(xí)之所以低效,是因?yàn)椴涣私庾约旱拇竽X怎么運(yùn)作俗冻。一旦你開始了解自己的大腦是怎么運(yùn)作的礁叔,很快的牍颈,你就會(huì)發(fā)現(xiàn)學(xué)習(xí)是有套路的迄薄,而且你可以利用這套方法,大幅拉升自己的學(xué)習(xí)初速度煮岁。
在這里我先告訴各位五個(gè)結(jié)論:
? 大腦并不擅長(zhǎng)思考讥蔽,而且大腦的思考是很緩慢的
? 多數(shù)的思考,并不是真的思考画机,而是調(diào)用過去記憶所組成的結(jié)果
? 人是利用已知的事務(wù)理解新的事物冶伞,但「理解」其實(shí)是「記憶」
? 沒有重復(fù)的練習(xí),不可能精通任何腦力活
? 題海戰(zhàn)術(shù)以及填鴨教育步氏,有時(shí)是必須的
- 大腦并不善于思考
在這社會(huì)上我們最常嘲諷的一個(gè)現(xiàn)象:「大多數(shù)人是不用腦子思考的」响禽。其實(shí)這真是事實(shí)!
你仔細(xì)想想荚醒,其實(shí)大腦真是用來思考的嗎芋类?如果你叫大腦隨便做一則演算,其實(shí)大腦的演算界阁,往往是比我們現(xiàn)在所發(fā)明的計(jì)算機(jī)來說侯繁,效率是極其低的。做個(gè) 7 * 8 的數(shù)學(xué)還行泡躯,但要是改個(gè) 177*288 的快速演算贮竟。就瞬間就當(dāng)機(jī)了。
蠟燭较剃、火柴咕别、圖釘
在這里,我舉一個(gè)「大腦其實(shí)不善于思考」的例子写穴。
一個(gè)空屋子里有一支蠟燭惰拱,一些火柴,和一盒圖釘确垫。目標(biāo)是讓點(diǎn)燃的蠟燭離地五英尺高弓颈,你已經(jīng)嘗試把蠟燭底部沾上蠟液帽芽,但還是沾不到墻上,怎樣才不用手扶翔冀,讓點(diǎn)燃的蠟燭離地五英尺高导街?
這一個(gè)題目,正常一般人在看到題目后纤子,很少能在 20 分鐘內(nèi)給出解決答案搬瑰。
但是如果你把這個(gè)題目「具象化」,也就是真的生出這些設(shè)備控硼,放在眼前泽论。
你就會(huì)發(fā)現(xiàn)這道題目的答案其實(shí)并不難。你只要把圖釘?shù)钩鰜砜ㄇ押凶佑脠D釘釘在墻壁上翼悴,再把蠟燭黏在盒子里,就完成了這個(gè)任務(wù)幔妨。
大腦的「思考」特性
這個(gè)例子解釋了「思考」的幾個(gè)特性鹦赎。
? 首先,大腦的思考是很緩慢的误堡。
? 接著古话,思考是很費(fèi)力的。大腦很難憑空想像出這個(gè)場(chǎng)景并運(yùn)算出解答锁施。甚至可能「完全答不出來」陪踩。
? 但是如果把大腦接上視覺系統(tǒng)與觸覺系統(tǒng)。因?yàn)橐曈X系統(tǒng)與觸覺系統(tǒng)進(jìn)行了可靠的回傳悉抵,大腦實(shí)質(zhì)上是調(diào)用了其他地區(qū)可用的資源做了運(yùn)算肩狂。就能迅速得出答案。
那么基跑,既然思考那么費(fèi)力婚温。我們平時(shí)是怎么樣不費(fèi)工夫的做出日常生活中的各樣決策?
習(xí)慣
答案是:習(xí)慣媳否。
「習(xí)慣」就是「我們做過某件事的記憶回路」栅螟,大腦調(diào)用「過去的記憶」,讓身體自動(dòng)做出判斷篱竭。
所以力图,在這里,我們要引出今天要介紹的第二條認(rèn)知學(xué)事實(shí):
大部分人做的決策掺逼,其實(shí)真不是基于大腦所做的思考吃媒,他們是「記憶」組成的結(jié)果 - 多數(shù)的思考,并不是真的思考,而是調(diào)用過去記憶所組成的結(jié)果
大腦的運(yùn)作原理是這樣的:
接收到環(huán)境刺激 => 然后把決策放到工作記憶上=> 熟練之后燒到長(zhǎng)期記憶中(事實(shí)性知識(shí)赘那、過程性知識(shí))刑桑。
? 工作記憶就是我們當(dāng)前正在意識(shí)、思考的「工作區(qū)域」募舟。
? (以計(jì)算機(jī)比喻祠斧,就是電腦的內(nèi)存。容量小拱礁,資料存在時(shí)間短琢锋,重開機(jī)就不見了。)
? 長(zhǎng)期記憶就是我們長(zhǎng)久以來儲(chǔ)存的事實(shí)性知識(shí)呢灶、經(jīng)驗(yàn)吴超。
? (以計(jì)算機(jī)比喻,就是電腦的硬盤鸯乃。容量大鲸阻,資料存在時(shí)間長(zhǎng),可以長(zhǎng)期復(fù)用飒责。)
而長(zhǎng)期以來赘娄,我們?nèi)粘S龅降拇罅繘Q策,事實(shí)上是調(diào)用了長(zhǎng)期記憶(經(jīng)驗(yàn)以及不變的科學(xué)事實(shí))宏蛉,自動(dòng)完成。
而所謂的解題與思考性置,是復(fù)用了短期記憶以及長(zhǎng)期記憶而成拾并。
比如說以 177 * 288 這個(gè)例子
? 7 * 8 是長(zhǎng)期記憶,是我們小時(shí)候背的九九乘法鹏浅。
? 接下來我們要算 170 * 280嗅义。接下來 ....
? 好了。你知道這有多難了隐砸。
人類幾乎很難憑空展開這個(gè)算式之碗。
這是因?yàn)槿祟惖拇竽X工作記憶中只能暫時(shí)存 7 ± 2 個(gè)結(jié)果(對(duì)人類無意義的結(jié)果)。人類事實(shí)上很少在思考季希,更多的是調(diào)用「記憶」在做決策褪那。 - 人是利用已知的事務(wù)理解新的事物,但「理解」其實(shí)是「記憶」
人是利用已知的事務(wù)理解新的事物式塌,但「理解」其實(shí)是「記憶」博敬。
「理解」其實(shí)不是一個(gè)調(diào)用大腦思考的過程,而是一個(gè)匹配「記憶」的過程峰尝。
很多行業(yè)為什么不喜歡招小白偏窝,事實(shí)上就是因?yàn)樾“捉?jīng)驗(yàn)過少,缺乏太多相關(guān)記憶,可以直接匹配學(xué)習(xí)祭往。
又或者是為什么一般人難以上手編程伦意,而且對(duì)于學(xué)習(xí)編程,感受到痛苦硼补。
這事實(shí)上就是因?yàn)椤妇幊獭估锩娴闹R(shí)默赂,跟過往幾乎所有的生活環(huán)境運(yùn)作原理幾乎是不匹配的,所以造成「無法理解」括勺,而大量調(diào)用大腦資源匹配缆八、思考,結(jié)果卻一無所返的情況下疾捍,造成意志力崩潰奈辰。
很多人學(xué)習(xí)編程事實(shí)上是被一堆所謂枯燥的「基礎(chǔ)知識(shí)」,所嚇跑的乱豆。
老手覺得「基礎(chǔ)知識(shí)」是很重要的奖恰,但「基礎(chǔ)知識(shí)」恰恰對(duì)許多新手來說,是「無法理解的」宛裕。
編程書反例:Git 如何運(yùn)作
比如說瑟啃,我引述一本所謂程序員界的 Git 初學(xué)指南,來談?wù)劊?「Git 如何運(yùn)作」揩尸。
『那么蛹屿,簡(jiǎn)單地說,Git是一個(gè)什么樣的系統(tǒng)岩榆?這一章節(jié)是非常重要的错负。若讀者了解Git的本質(zhì)以及運(yùn)作的基礎(chǔ),那么使用起來就會(huì)很輕松且有效率勇边。在學(xué)習(xí)之前犹撒,試著忘記以前所知道的其它版本控制系統(tǒng),如:Subversion 及 Perforce粒褒。這將會(huì)幫助讀者使用此工具時(shí)發(fā)生不必要的誤會(huì)识颊。 Git儲(chǔ)存資料及運(yùn)作它們的方式遠(yuǎn)異于其它系統(tǒng),即使它們的使用者介面是很相似的奕坟。了解這些差異會(huì)幫助讀者更準(zhǔn)確的使用此工具祥款。
Git與其它版本控制系統(tǒng)(包含Subversion以及與它相關(guān)的)的差別是如何處理資料的方式。一般來說执赡,大部份其它系統(tǒng)記錄資訊是一連串檔案更動(dòng)的內(nèi)容镰踏。這些系統(tǒng)(CVS、Subversion沙合、Perforce奠伪、Bazaar等等)儲(chǔ)存一組基本的檔案以及對(duì)應(yīng)這些檔案隨時(shí)間遞增的更動(dòng)資料跌帐。
Git并不以此種方式儲(chǔ)存資料。而是將其視為小型檔案系統(tǒng)的一組快照(Snapshot)绊率。每一次讀者提交更新時(shí)谨敛、或者儲(chǔ)存目前專案的狀態(tài)到Git時(shí)÷朔瘢基本上它為當(dāng)時(shí)的資料做一組快照并記錄參考到該快照的參考點(diǎn)脸狸。為了講求效率,只要檔案沒有變更藐俺,Git不會(huì)再度儲(chǔ)存該檔案炊甲,而是記錄到前一次的相同檔案的連結(jié)。 Git的工作方式如圖1-5所示欲芹∏浞龋』
「若讀者了解Git的本質(zhì)以及運(yùn)作的基礎(chǔ),那么使用起來就會(huì)很輕松且有效率」菱父,聽起來是多么諷刺啊颈娜。
絕大多數(shù)需要學(xué) Git 如何入門的人,是一無所知的小白浙宜。 Git / Subversion / Snapshot / 參考點(diǎn)官辽,這幾個(gè)名詞,對(duì)一般人來說是無意義的粟瞬。不只是一般人同仆,甚至是一輩子都在使用 FTP 部署代碼的的程序員來說,他也不了解你在說什么亩钟。
正確比喻:時(shí)光機(jī)
所以呢乓梨,一般要怎么讓「讀者了解Git的本質(zhì)以及運(yùn)作的基礎(chǔ),使用起來很輕松且有效率」清酥。
? 告訴他 Git 是個(gè)時(shí)光機(jī)
? 你可以用一套圖形化的工具操作這個(gè)時(shí)光機(jī),任意回到希望回朔的時(shí)間點(diǎn)蕴侣。之后你可以在任意時(shí)刻檢查你之前所寫的代碼焰轻,并檢查變化。不僅是開發(fā)團(tuán)隊(duì)昆雀,甚至是很多寫作團(tuán)隊(duì)辱志,也開始利用這套工具實(shí)行協(xié)作。
? 因?yàn)榻^大多數(shù)的人看過小叮當(dāng)或者是科幻電影狞膘,所以他能夠理解時(shí)光機(jī)是什么揩懒,也知道時(shí)光機(jī)能帶來的好處。進(jìn)而愿意接觸以及使用這個(gè)工具增進(jìn)工作效率挽封。甚至可能在聽完我講這個(gè)例子時(shí)已球,就已經(jīng)對(duì) Git 這套工具產(chǎn)生興趣,實(shí)際去使用了。
而等到使用者理解了Git 可以幫他做什么之后智亮,且想控制更多細(xì)節(jié)時(shí)忆某,就會(huì)愿意使用命令列,操作更高級(jí)的命令與效果阔蛉,進(jìn)而去研究Git 的底層運(yùn)作弃舒,學(xué)到更多奇技淫巧,從而「使用起來更輕松且有效率」状原。
所以之前這份 git 入門教程到底是寫給誰看的聋呢?我只能這樣說,我認(rèn)為這不是寫給入門者看的颠区,即便這章叫做「Git 基礎(chǔ)要點(diǎn)」削锰。這就是一般編程書的坑。
我們?cè)掝}扯得有點(diǎn)遠(yuǎn)了瓦呼∥箍撸總之呢?你得記住這樣一個(gè)結(jié)論:
人類只能利用已知的事物理解新的事物
而這是許多教育界圣經(jīng)央串,如教育七律磨澡,反覆提及的教學(xué)要點(diǎn)。
人類的「理解」质和,實(shí)質(zhì)上是一道不斷在舊有記憶上不斷疊加累積的過程稳摄。
- 沒有重復(fù)的練習(xí),不可能精通任何腦力活
如果一個(gè)人饲宿,帶球的同時(shí)還要思考踢球的角度和速度厦酬,不太可能成為一個(gè)優(yōu)秀的足球選手。像這樣的低層次過程必須不假思索瘫想,才能給更高層次的過程仗阅,比如戰(zhàn)術(shù)策略提供足夠空間。
正因?yàn)槲覀兊墓ぷ饔洃浿M小国夜,如果你將大量需要調(diào)用的資源放在工作記憶减噪,那么大腦就會(huì)瞬間寸步難行。就如同這個(gè)足球選手來說车吹,如果他要一邊思考踢球角度和速度筹裕,那么下場(chǎng)不但不只是「無法射門」,甚至可能是「跌倒」窄驹。多半優(yōu)秀的足球選手進(jìn)行射門朝卒,往往是憑「直覺」判斷,「感覺」角度對(duì)了乐埠,場(chǎng)上有空檔抗斤,直接踢出一個(gè)漂亮弧度的球囚企,射門成功??。
這個(gè)直覺豪治,往往就是 深焊在肌肉里面的長(zhǎng)期記憶洞拨。
而一般人所謂的學(xué)習(xí),事實(shí)上是在將新東西存在短期記憶中负拟,進(jìn)行「理解」的連結(jié)烦衣。再透過反覆的練習(xí),往下放置在長(zhǎng)期記憶中??掩浙。 - 題海戰(zhàn)術(shù)以及填鴨教育花吟,有時(shí)是必須的
在過去我們的應(yīng)試教育中,因?yàn)槲覀兇罅康谋还噍斕铠喗逃约邦}海厨姚,以至于我們痛恨「題海戰(zhàn)術(shù)」以及「填鴨教育」衅澈。所以,往往對(duì)于「肌肉的記憶」練習(xí)術(shù)這件事十分不茍同谬墙。
甚至是今布,因?yàn)槲覀儗?duì)于「題海戰(zhàn)術(shù)」過于痛恨,甚至得到了相反的結(jié)論:「我們未來教育學(xué)生拭抬,必須使用理解型教育」這個(gè)甚至看似正確部默,但事實(shí)上是謬誤的決策。
注意啊造虎。在前面我講了「理解」實(shí)際上是「記憶」的相關(guān)連結(jié)傅蹂。
如果你的大腦,從來未曾存在相關(guān)記憶算凿,那么又如何「理解」份蝴。又比如說,你如何讓幼兒理解 7 * 8 = 56氓轰;中學(xué)生理解 e = mc2婚夫;想學(xué)編程的大學(xué)生,理解 git 的 repositroy 機(jī)制署鸡。
答案是:你不能请敦。
因?yàn)槭聦?shí)上他們就沒有這樣的相關(guān)記憶可以去做鏈結(jié)。所以你只能讓他們硬背储玫,直接先鎖在記憶區(qū)里面。等待將來更有意義的相關(guān)材料萤皂,進(jìn)一步的將這些硬背的東西撒穷,鎖到更深的地方。 - 右腦模式開始探索整體框架
如果「編程」是你這輩子從未碰觸過的學(xué)問裆熙,那么按照大腦最容易入門的方式端礼,其實(shí)就是:
不要強(qiáng)求自己用眼睛禽笑,甚至不用大腦去理解,把左腦模式關(guān)掉
盡量的摸索一個(gè)外圍框架蛤奥,在大腦深處種下記憶點(diǎn)佳镜。 (比如說你只要知道「輸入什么」,然后可以「得到若干輸出」就好了凡桥。(如果你連什么是有效的外圍框架都不知道蟀伸。不如直接付費(fèi)去上新手班,從教練身上學(xué)一個(gè)一個(gè)外圍高頻套路缅刽,可以少掉很多坑)
透過肌肉的練習(xí)啊掏,把這些記憶點(diǎn)種到肌肉里面。 (打錯(cuò)字不再犯衰猛,無法理解但常用的都先背起來)
形成了一個(gè)防摔記憶層后迟蜜,再用左腦去分析自己未來想知道更多的東西
一層一層的用「已知解釋已知」。
當(dāng)然啡省,在這當(dāng)中要保持「開心」娜睛、「有成就感」,不妨完成一個(gè)小作品后卦睹,就扔上網(wǎng)給那些也不懂編程的朋友看一下畦戒,得到他們的贊美。唯有充滿成就感的學(xué)習(xí)分预,才是初學(xué)狀態(tài)最重要的兢交。有成就感的進(jìn)步,才容易形成習(xí)慣回路笼痹。
這一路寫下來配喳,相信你開始可以理解,為什么社會(huì)上「政治正確」的這些「常識(shí)」:
? 學(xué)習(xí)編程必須要有天賦
? 必須在學(xué)習(xí)編程中「看」懂每一個(gè)步驟
? 學(xué)習(xí)必須要扎實(shí)凳干,要從技術(shù)基礎(chǔ)原理學(xué)起
? 學(xué)習(xí)當(dāng)中禁止使用捷徑晴裹,如復(fù)制代碼
是有多么毒的吧!如果按照社會(huì)上這套「常識(shí)思路」救赐,「編程初學(xué)者從入門到放棄」根本就是 99% 可以預(yù)期的結(jié)果涧团!