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