看書還是看視頻好?群里炸了
大家好,我是四哥,最近喜歡看 B 站的四哥。
我昨晚又看了倆小時 B 站,當(dāng)然不是看小姐姐,一本正經(jīng)的看編程的視頻,最多就是看看會編程的小姐姐。
看了幾天 B 站之后,我感覺我戒掉抖音這事兒更有希望了,我已經(jīng)超過 1 個月沒刷過抖音了。
上次整理完 B 站的 Java 編程視頻之后,我發(fā)了一篇文章
后來有讀者把文章發(fā)到群里,然后有人問了一個問題:
學(xué) Java 到底是看視頻好還是看書好?
再然后群里就炸了。
看書派和是視頻派,在群里爭論的熱火朝天,誰也說服不了誰。
其實沒啥好爭論的,小孩子才做選擇,成年人全都要——看書和看視頻都需要,相輔相成嘛。
這是答案?這不就是正確的廢話嗎?
今天這篇文章,我也不是想說服誰,就是想分享一下我的觀點。
1.
假如你現(xiàn)在是一個剛到公司的實習(xí)生,對 Java 還沒有太多的真實項目經(jīng)驗,而公司可能隨時派活給你,你怎么辦?
一般來說,大家都會到處找各種資料學(xué)習(xí),有的人找書看,有的人找視頻看。
那么誰更好呢?從實際效果來看,還是看視頻相對快一些。原因在哪里?
其實,這是和你學(xué)習(xí)的目的是有緊密關(guān)系的。你現(xiàn)在的目的是:
想趕緊學(xué)習(xí)如何用 Java 開發(fā)項目,平穩(wěn)度過新手期。
要擁有這種能力,最快的方式就是有人帶著你實際開發(fā)一個項目。在這時候,你不需要想 Java 的各種原理,不需要去想項目的各種業(yè)務(wù)流程,你唯一的目的就是快速上手,能去干活,完成公司的任務(wù)。
在這個情況下,看視頻會比看書學(xué)習(xí)的更快,這是由視頻學(xué)習(xí)的特點決定的。
視頻學(xué)習(xí)由一個老師帶著你一步步的學(xué)知識、練習(xí)、實踐一個項目。在視頻中,每一步都生動的呈現(xiàn)給你,每一步都沒有遺漏,都有操作的過程,你只需要觀看,然后模仿。
書籍呢?只有一頁頁的文字,單調(diào),時不時還可能像以前上課時,數(shù)學(xué)老師講數(shù)學(xué)證明題的證明步驟一樣,來個顯而易見之類的語句,把一些難以理解的步驟丟給你自己體會。你只能繼續(xù)苦思冥想,還得自己折騰找更多的資料。明顯耽誤時間。
所以,從模仿,從上手熟練技能,從節(jié)省時間來說,我覺得看視頻學(xué)習(xí)更合適。
所以對新手來說,建議視頻學(xué)習(xí)為主,看書為輔,看書去彌補一些視頻課程沒有提到的盲點。
這里補充一下,對基礎(chǔ)不太好想自學(xué) Java 的人來說,也是一樣,推薦先通過視頻學(xué)習(xí)。
2.
時間流轉(zhuǎn),你可能工作了兩三年。此時,你已經(jīng)是個合格的程序員了。
但是你一直在寫業(yè)務(wù)代碼,一直在 CRUD,你不甘心,想追求更高的技術(shù)實力。
于是,你想更進一步的學(xué)習(xí),比如研究下 Java 的優(yōu)化,想看一下 Spring 的內(nèi)部工作流程。這個時候,你去找視頻看,你可能會發(fā)現(xiàn)視頻的幾個問題:
問題1. 講解內(nèi)部原理的好視頻少
深入講解內(nèi)部原理的視頻不是沒有,但是要找到一個合適的,講解深入淺出的視頻非常難。
大多數(shù)的視頻,講的很晦澀,甚至是直接照本宣科,你聽他的內(nèi)容,可能就是他找了本書照著念。
問題2. 單個視頻的冗余信息太多
B 站和其他網(wǎng)站的編程視頻,無論是視頻數(shù)量,還是播放量,排名靠前的往往是培訓(xùn)機構(gòu)的視頻,他們的視頻普遍有一個問題:
一個視頻里,各種閑雜信息非常多,要么就是誘導(dǎo)你交錢上培訓(xùn)班的,要么就是中間摻雜了很多很膚淺,你工作中已經(jīng)了解過的知識,你真正想學(xué)的知識就那么一點,你需要花很多時間,才能湊出你想學(xué)習(xí)的知識。
問題3. 視頻講的不如書深入
比如,很多講 Redis 內(nèi)部原理的視頻,大部分是針對面試和工作的。而對于內(nèi)部原理的設(shè)計動機、網(wǎng)絡(luò) IO 和文件 IO 之間的配合、以及事件傳播中間做的取舍,視頻中是沒有的。
所以,在你工作幾年后想追求技術(shù)成長,完全靠視頻學(xué)習(xí)已經(jīng)很難了,必須離不開看書。書在此處有個好處,即經(jīng)典很多,知識點也夠全夠深入。
我們可以通過看書形成一套知識體系,然后通過視頻快速學(xué)習(xí)知識點,把知識點像填空一樣填到這套體系里,視頻講的不夠深入的地方,看書也恰好能加深我們的理解。
比如剛提到的 Redis,經(jīng)典書就有很多,像中文有《Redis設(shè)計與實現(xiàn)》,英文有《Redis Essentials》等,把他們的目錄章節(jié)形成體系,然后把在視頻中學(xué)到的知識點填充進這套體系里。視頻中沒講的知識點,就去把書上對應(yīng)的章節(jié)看懂學(xué)會。這樣學(xué)完后,你對 Redis 的掌握就很深入了。
對有一定經(jīng)驗的程序員來說,讀書可以作為一種視頻課程的一種引導(dǎo),視頻和讀書可能半分你的學(xué)習(xí)時間。
3.
好了,時間又過了幾年,你工作已經(jīng)五年以上了。你可能已經(jīng)成了一位高級程序員。
此時,你學(xué)習(xí)的目的是想成為架構(gòu)師,或者是某個技術(shù)細(xì)分領(lǐng)域的專家,又或者是想找一些最佳工程實踐去用到公司的新項目上。
你再去找視頻學(xué)習(xí),你會發(fā)現(xiàn),市面上已經(jīng)基本沒有適合你的視頻課程了……起碼免費的視頻沒有了,哎,想白嫖越來越難,很多高級的視頻要收費。
譬如,你找不到講 JavaIO 設(shè)計思想的視頻,你找不到講 Service Mesh 工程最佳實踐的視頻。
這時候,你幾乎無法再通過視頻學(xué)習(xí)了,最多就是看看各種技術(shù)大會的視頻,從演講者的一些只言片語中去推斷他們的技術(shù)思想。
要想進一步的學(xué)習(xí),就只剩下書了,書成了你以后的唯一的伙伴,而且最要命的是很多可能還是英文書。
4.
看到這里,你應(yīng)該就明白了,為什么我說看書和看視頻是相輔相成。不同的人有不同的選擇,不同的階段有不同的答案。
因為視頻與讀書都有優(yōu)缺點:
就像我前面說的,視頻學(xué)習(xí)非常方便,學(xué)習(xí)效率非常高,能快速的入門。但是很多時候,你越往后學(xué)習(xí),你越找不到合適的視頻,你只能被迫通過讀書去彌補視頻的不足。
視頻學(xué)習(xí),相當(dāng)于你去駕校學(xué)車,旁邊有個老師傅手把手教你,由于有老師傅帶著,你很可能感覺學(xué)的飛快,會有完全懂了的錯覺。
但實際上,你的知識只學(xué)了個皮毛,還有很多瑕疵,因為沒有及時練習(xí),很多知識等到你要用的時候,你發(fā)現(xiàn)都忘得差不多了。
想通過視頻學(xué)會 Java 編程,想掌握底層原理,那估計會讓你失望的。
看書相當(dāng)于自己練車,過程固然很辛苦,但是每一步你都經(jīng)過了細(xì)致的琢磨,會去更多的深入思考。同時,由于看書過程中有很多不懂得地方,就會逼著你去親自動手實踐、摸索。
看書是件非常累的事情,大腦由于需要不停的思考,他需要很高的精神集中度。而視頻則不然,視頻信息屬于灌輸類的,很多需要你努力思考的知識點,老師給你掰碎了,淺顯易懂的講給你聽,你少了一個不停花腦力思考的過程。
書籍信息的表達不夠生動。我曾經(jīng)看《Hadoop權(quán)威指南》,里面 DataNode 數(shù)據(jù)傳遞的過程始終理解的不夠透徹,對于 NameNode 如何管理 DataNode,也是稀里糊涂,始終不得要領(lǐng)。
后來,我在 Youtube 上看了一些講解的視頻,里面用各種圖片和動畫,給你生動的展示出了里面的內(nèi)部原理,我才真正的學(xué)透了這幾個知識點。
所以,書籍講解難點,受限于作者的表達方式,有些地方可能很難講解清楚。如果你能找到對應(yīng)講解的視頻,很可能這個難點會迎刃而解。
學(xué) Java,學(xué)其他技術(shù),無論是看書,還是看視頻,我建議你都去嘗試一下不同的學(xué)習(xí)方式,善于利用手邊的所有資源才是最好的辦法。
想想我當(dāng)年學(xué) Java 只能硬啃《Java編程思想》這種大部頭,再看看現(xiàn)在的資源,我不禁想到《奔涌吧,后浪》里說的:
你們有幸 遇見這樣的時代
但是時代 更有幸遇見這樣的你們
看完覺得幫助,記得點個在看,也可以分享給你的朋友。
你好,我是四猿外。
一家上市公司的技術(shù)總監(jiān),管理的技術(shù)團隊一百余人。想了解我如何管理團隊——我,管理100多人團隊的二三事
我從一名非計算機專業(yè)的畢業(yè)生,轉(zhuǎn)行到程序員,一路打拼,一路成長。
我會通過公眾號,
把自己的成長故事寫成文章,
把枯燥的技術(shù)文章寫成故事。
我建了一個讀者交流群,里面大部分是程序員,一起聊技術(shù)、工作、八卦。歡迎加我微信,拉你入群。
