寫(xiě)給計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的血淚控訴:我學(xué)計(jì)算機(jī),我會(huì)修電腦!
“你學(xué)啥專(zhuān)業(yè)?”
“計(jì)算機(jī)科學(xué)?!?/p>
“幫我修電腦吧。”
“……”

現(xiàn)實(shí)中——
金融專(zhuān)業(yè)的被問(wèn)炒股
土木專(zhuān)業(yè)的被問(wèn)裝修
天文專(zhuān)業(yè)的被問(wèn)運(yùn)程
醫(yī)學(xué)專(zhuān)業(yè)的被問(wèn)藥方
……
很顯然,這是認(rèn)知差異的誤解。
但這也反映了一個(gè)現(xiàn)實(shí)問(wèn)題:
學(xué)科知識(shí)與生活應(yīng)用之間
差了不止一個(gè)大學(xué)生。
譬如計(jì)算機(jī)專(zhuān)業(yè),會(huì)教
組成原理、操作系統(tǒng)、程序設(shè)計(jì),以及數(shù)理邏輯……
但不會(huì)教
裝電腦、裝系統(tǒng)、裝程序、office……
計(jì)算機(jī)專(zhuān)業(yè)角度,
電腦、手機(jī)、平板、機(jī)器人基本一致:
都是芯片、主板、存儲(chǔ)、輸入、輸出、電源的組合。

但實(shí)踐中,
手機(jī)電腦插口不同,封裝螺絲也不一樣。
學(xué)計(jì)算機(jī)的你,連自己的手機(jī)都拆不了。
專(zhuān)業(yè)課知識(shí),像沒(méi)兌飲料的威士忌,濃度高,易上頭。

計(jì)算機(jī)專(zhuān)業(yè)部分教材示例
一個(gè)例子:“電腦上網(wǎng)慢,怎么辦?”
《計(jì)算機(jī)網(wǎng)絡(luò)》:網(wǎng)絡(luò)分七層,每層按具體協(xié)議工作;
《操作系統(tǒng)》:計(jì)算機(jī)資源被統(tǒng)一管理、分配和調(diào)度;
《程序設(shè)計(jì)》:設(shè)計(jì)算法,寫(xiě)出能讓機(jī)器執(zhí)行的代碼;
沒(méi)有一門(mén)計(jì)算機(jī)專(zhuān)業(yè)課能直接回答。
你還在“套公式”解題,隔壁電腦城小哥已經(jīng)搞定。
還有個(gè)“博士和農(nóng)民工”的故事。
某帶盒香皂生產(chǎn)線有缺陷,常有漏裝肥皂現(xiàn)象。
博士組建攻關(guān)組,花費(fèi)近百萬(wàn)設(shè)計(jì)多學(xué)科聯(lián)動(dòng)方案:
空香皂盒經(jīng)過(guò)時(shí),探測(cè)器報(bào)警,機(jī)械手臂拿起空盒。
農(nóng)民工憑“直覺(jué)”,花200塊買(mǎi)了臺(tái)大功率風(fēng)扇,
放生產(chǎn)線旁“呼呼呼”一頓吹,空盒字紛紛落地。
“專(zhuān)業(yè)比不過(guò)直覺(jué)”的現(xiàn)象背后,隱藏著兩種解題思想:
自頂向下(Top-Down)
自底向上(Bottom-Up)

自頂向下
在《有一種執(zhí)著,叫“我要學(xué)編程”》里提到的“分而治之”,
就是一種自頂向下的解題思想。
它是通用思想,不僅用在編程,
還被用在架構(gòu)設(shè)計(jì)、項(xiàng)目管理、目標(biāo)分解等。
“套公式”的過(guò)程,其實(shí)就是在自頂向下解題。
邏輯學(xué)稱(chēng)為“演繹”:從一般到特殊。
**解決問(wèn)題時(shí),從“通用知識(shí)”——“注入信息”——“獲得結(jié)論”?
**
比如解決“上網(wǎng)慢”,
通用知識(shí):“計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用層,承載兩臺(tái)主機(jī)間的應(yīng)用服務(wù)。”
注入信息:“在PC電腦,用瀏覽器訪問(wèn)某個(gè)網(wǎng)站?!?/p>
獲得結(jié)論:“我們?cè)谟肏TTP協(xié)議與某網(wǎng)站通信?!?/p>
接著我們檢查協(xié)議是否正常,再注入更多信息獲得更多結(jié)論,直到問(wèn)題解決。
這樣的演繹在邏輯上并不嚴(yán)謹(jǐn),但足以表達(dá)我們自頂向下的解題過(guò)程。

每一次演繹,都會(huì)增加多個(gè)具體情況,每一個(gè)都要去判斷。
于是你發(fā)現(xiàn),自己陷入了一個(gè)指數(shù)級(jí)“信息風(fēng)暴”,
窮盡一生也未必能找到答案。
這就是所謂“把問(wèn)題復(fù)雜化?!?/p>
自底向上
與自頂向下相對(duì)應(yīng)的解題思想,是自底向上。
邏輯學(xué),稱(chēng)為“歸納”:從特殊到一般。
這解題思想更貼近我們?nèi)粘K季S方式。
“上網(wǎng)慢”?那就把所有遇到過(guò)的原因列出來(lái)。
緩存太多,機(jī)械磁盤(pán)太卡
自帶域名解析服務(wù)器太慢
代理服務(wù)器慢
流氓軟件
網(wǎng)卡壞了
運(yùn)營(yíng)商網(wǎng)速慢
網(wǎng)站出故障
……
然后,用排除法一個(gè)個(gè)試。
很簡(jiǎn)單,大部分人都會(huì)。
以前網(wǎng)絡(luò)不發(fā)達(dá),電腦城小哥靠師徒傳承,壟斷“修電腦”。
現(xiàn)在,普通人隨手網(wǎng)上一查,唾手可得。
不僅修電腦
手機(jī)屏幕碎了?某寶買(mǎi)新的,店家還會(huì)給教程。
想吃新鮮蛋糕?某廚房教程,買(mǎi)好配料就能做。
學(xué)辦公軟件?某站視頻有教,再不會(huì)找專(zhuān)家問(wèn)。
……
對(duì)于具體問(wèn)題,信息獲取已成為每個(gè)人的基本生存能力。
自底向上的解題思想,是不是比自頂向下更優(yōu)秀?
或者說(shuō)計(jì)算機(jī)專(zhuān)業(yè)知識(shí)木有用了?

知識(shí)無(wú)用?
這也是當(dāng)前很多大學(xué)生的困惑:
學(xué)那么多“經(jīng)典”知識(shí),在工作崗位上完全派不上用場(chǎng)。
電腦城小哥更快解決問(wèn)題的前提至少有兩個(gè):
1. 上網(wǎng)功能較穩(wěn)定;
2. 遇到問(wèn)題較集中。
前提1 把大部分軟硬件功能損壞的可能性降到最低;
前提2 把常見(jiàn)問(wèn)題歸為一張清單。
于是,問(wèn)題似乎很容易解決。
但,如果遇到問(wèn)題不具備這兩個(gè)前提,又該如何?
窮盡了清單所有條目,問(wèn)題依舊。
這時(shí),你只能期盼某位高手到來(lái),或者直接放棄。
知識(shí),是信息的抽象。
人類(lèi),因?yàn)榫邆涑橄竽芰Γ拍苤苯訉W(xué)習(xí)知識(shí)。
我們用抽象提取知識(shí),應(yīng)用時(shí)再注入具體信息。
知識(shí)是信息壓縮容器,就像龍珠里的萬(wàn)能膠囊:

物理世界中大部分定律源于觀察實(shí)驗(yàn),如牛頓第二定律。
歷經(jīng)百年實(shí)踐,計(jì)算機(jī)才從打孔機(jī)演變?yōu)椤爸悄軝C(jī)”。
所以,自頂向下和自底向上兩種解題思路,伴隨人類(lèi)實(shí)踐與學(xué)習(xí),相輔相成。
在這個(gè)信息爆炸時(shí)代,學(xué)習(xí)是每個(gè)人壓縮信息的必備武器。
那如何才能提高學(xué)習(xí)能力?

模仿學(xué)習(xí)
如果我們觀察小朋友學(xué)習(xí),就會(huì)發(fā)現(xiàn):
最原始的學(xué)習(xí)方式就是模仿。
他們會(huì)模仿大人說(shuō)話,也會(huì)模仿大人動(dòng)作。
模仿,就是獲取信息后直接應(yīng)用。
當(dāng)我們準(zhǔn)備掌握一項(xiàng)新技能,第一步往往都是模仿。
比如,對(duì)著字帖練字、照著原畫(huà)臨摹、看著教練運(yùn)球……
也有對(duì)著視頻學(xué)軟件。
模仿的前提,是有參考物,也就是得有“抄”的對(duì)象。
信息化時(shí)代,不怕沒(méi)對(duì)象,就怕找不到。
幸好,信息工具也在持續(xù)創(chuàng)新。
從最早電信黃頁(yè),到門(mén)戶(hù)網(wǎng)站,再到搜索引擎,以及現(xiàn)在的信息流推薦。
這些技術(shù)工具在做同一件事:提升信息獲取效率。
互聯(lián)網(wǎng)平臺(tái)間的競(jìng)爭(zhēng),從功能,到內(nèi)容,再到內(nèi)容生產(chǎn)者,從未停歇。
如今,誰(shuí)有優(yōu)質(zhì)內(nèi)容,誰(shuí)能持續(xù)擁有內(nèi)容源,成了流量競(jìng)爭(zhēng)關(guān)鍵。
除了要熟練使用搜索技巧,我們還得了解內(nèi)容分布。
比如,用搜狗微信找公眾號(hào)內(nèi)容,用天眼查或企查查找企業(yè)信息,還有各行業(yè)垂直社區(qū)……
用好這些工具,我們就能快速找到信息。
但,
復(fù)雜的問(wèn)題未必能直接找到答案;
獲得的信息未必可以被直接模仿。
因?yàn)椋?strong>每個(gè)人知識(shí)積累不同,我們說(shuō)話會(huì)自帶信息過(guò)濾。
高手對(duì)話,往往不會(huì)夾帶過(guò)多具體信息。
就像這樣:

所以,我們得學(xué)會(huì)分解知識(shí)。

知識(shí)分解
我們學(xué)騎車(chē)、學(xué)游泳、學(xué)畫(huà)畫(huà)……往往不是一氣呵成,而是伴隨“動(dòng)作分解”。
“動(dòng)作分解”,其實(shí)就是用“分而治之”的思路解題。
我們把“大知識(shí)點(diǎn)”分解到“小知識(shí)點(diǎn)”,然后分別學(xué)習(xí)。
知識(shí)積累因人而異,所以分解方式也不同。
教育所說(shuō)“因材施教”,正是這個(gè)道理。
所以,我們需要學(xué)習(xí)“學(xué)習(xí)”,才能更好學(xué)習(xí)。
看,就像編程語(yǔ)言有“高級(jí)”之分,知識(shí)也有級(jí)別概念。
既然“學(xué)習(xí)”本身可以被學(xué)習(xí),那有沒(méi)有輔助工具呢?
有,就是我們常說(shuō)的“學(xué)習(xí)方法”。
搜索引擎可以給出大量“學(xué)習(xí)方法”相關(guān)內(nèi)容,但它還無(wú)法告訴你哪些更適合。
你會(huì)找到一堆“高手技巧”,洋洋灑灑幾萬(wàn)字,得來(lái)大半是雞湯。
目前被廣泛采納的學(xué)習(xí)方法,主要有2個(gè):
思維導(dǎo)圖
費(fèi)曼學(xué)習(xí)

思維導(dǎo)圖
思維導(dǎo)圖采用結(jié)構(gòu)化信息組織形式。
學(xué)習(xí)過(guò)程中,你可以用“關(guān)鍵詞”創(chuàng)建節(jié)點(diǎn),然后圍繞“是什么”、“有什么用”、“怎么用”等問(wèn)題描述它。
思維導(dǎo)圖最大的作用不是幫我們儲(chǔ)存信息,而是輔助我們發(fā)現(xiàn)規(guī)律,從繁雜信息中提取知識(shí)。
它是一種大腦思考輔助工具。
借助思維導(dǎo)圖,我們還可以從全局視角看知識(shí)結(jié)構(gòu)。
尤其在知識(shí)分解時(shí),我們更容易從中發(fā)現(xiàn)同類(lèi)信息背后的知識(shí),進(jìn)一步提升學(xué)習(xí)效率。
初學(xué)者經(jīng)常會(huì)進(jìn)入一個(gè)誤區(qū):直接收藏別人整理好的“思維導(dǎo)圖”,以為這樣學(xué)習(xí)起來(lái)更快。
其實(shí),那些整理好的思維導(dǎo)圖文件,對(duì)你而言只是一種信息,而非知識(shí)本身。
別人的輸出,只能作為你的輸入。思維導(dǎo)圖是幫助你“消化“。
另一個(gè)學(xué)習(xí)方法,是費(fèi)曼學(xué)習(xí)法,它經(jīng)常被人稱(chēng)作是“最好、最快、最牛、最有效”的“終極”學(xué)習(xí)方法。

費(fèi)曼學(xué)習(xí)
費(fèi)曼學(xué)習(xí)法最大特點(diǎn),是“以教促學(xué)”,
即通過(guò)“教會(huì)別人”來(lái)掌握知識(shí)。
生活中,當(dāng)我們向別人解釋知識(shí)時(shí),免不了要舉例給對(duì)方聽(tīng)。
當(dāng)對(duì)方聽(tīng)得懂例子,他就能理解;反之,你還得繼續(xù)舉其他例子。
也就是說(shuō),你得舉對(duì)方“懂”的例子,才能把知識(shí)“傳授”給對(duì)方。
當(dāng)你倆信息不在一個(gè)”頻道“時(shí),就會(huì)有討論。
討論過(guò)程也是信息同步過(guò)程,讓你倆能更“懂”對(duì)方。
于是你就有機(jī)會(huì)從對(duì)方角度舉例。
這樣的例子,對(duì)你而言,是新信息輸入,也是對(duì)已有知識(shí)的檢驗(yàn)。
當(dāng)知識(shí)經(jīng)受住新例子檢驗(yàn),你也加強(qiáng)了知識(shí)的理解和掌握;
當(dāng)新例子打破了原有知識(shí),可以幫你糾正錯(cuò)誤,重塑知識(shí)。
所以,用費(fèi)曼學(xué)習(xí)法“教會(huì)別人”,也會(huì)獲得更多案例,強(qiáng)化知識(shí)。

總結(jié)
知識(shí)是信息的壓縮膠囊,應(yīng)用時(shí)注入具體信息。
“自頂向下”和“自底向上”解題思想相輔相成,對(duì)應(yīng)邏輯演繹歸納。
學(xué)習(xí)源于模仿,借助工具可以快速對(duì)標(biāo)。
學(xué)習(xí)復(fù)雜知識(shí),可以先分解,再學(xué)習(xí)。
思維導(dǎo)圖和費(fèi)曼學(xué)習(xí)是兩大學(xué)習(xí)輔助神器。
我們生活在一個(gè)充滿問(wèn)題的世界;
我們也生活在一個(gè)知識(shí)泛濫的時(shí)代。
我們從未如此全面地看清世界;
我們也從未如此無(wú)力地害怕未知。

沒(méi)了章法,我們會(huì)心生恐懼。
但又有多少問(wèn)題,會(huì)有標(biāo)準(zhǔn)答案?
人生,是一場(chǎng)充滿知識(shí)的旅途。
解決問(wèn)題,需要知識(shí)厚積,更需要實(shí)踐創(chuàng)新。
微信公眾號(hào):只差一個(gè)程序員了
如果你想更好的提升你的C語(yǔ)言編程能力,好好學(xué)習(xí)C/C++編程知識(shí)的話!那么你很幸運(yùn)~

學(xué)習(xí)C/C++編程知識(shí),提升C/C++編程能力,歡迎關(guān)注UP一起來(lái)成長(zhǎng)!
另外,UP在主頁(yè)上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!
編程學(xué)習(xí)書(shū)籍

編程學(xué)習(xí)視頻
