看书还是看视频好?群里炸了
大家好,我是四哥,最近喜欢看 B 站的四哥。
我昨晚又看了俩小时 B 站,当然不是看小姐姐,一本正经的看编程的视频,最多就是看看会编程的小姐姐。
看了几天 B 站之后,我感觉我戒掉抖音这事儿更有希望了,我已经超过 1 个月没刷过抖音了。
上次整理完 B 站的 Java 编程视频之后,我发了一篇文章
后来有读者把文章发到群里,然后有人问了一个问题:
学 Java 到底是看视频好还是看书好?
再然后群里就炸了。
看书派和是视频派,在群里争论的热火朝天,谁也说服不了谁。
其实没啥好争论的,小孩子才做选择,成年人全都要——看书和看视频都需要,相辅相成嘛。
这是答案?这不就是正确的废话吗?
今天这篇文章,我也不是想说服谁,就是想分享一下我的观点。
1.
假如你现在是一个刚到公司的实习生,对 Java 还没有太多的真实项目经验,而公司可能随时派活给你,你怎么办?
一般来说,大家都会到处找各种资料学习,有的人找书看,有的人找视频看。
那么谁更好呢?从实际效果来看,还是看视频相对快一些。原因在哪里?
其实,这是和你学习的目的是有紧密关系的。你现在的目的是:
想赶紧学习如何用 Java 开发项目,平稳度过新手期。
要拥有这种能力,最快的方式就是有人带着你实际开发一个项目。在这时候,你不需要想 Java 的各种原理,不需要去想项目的各种业务流程,你唯一的目的就是快速上手,能去干活,完成公司的任务。
在这个情况下,看视频会比看书学习的更快,这是由视频学习的特点决定的。
视频学习由一个老师带着你一步步的学知识、练习、实践一个项目。在视频中,每一步都生动的呈现给你,每一步都没有遗漏,都有操作的过程,你只需要观看,然后模仿。
书籍呢?只有一页页的文字,单调,时不时还可能像以前上课时,数学老师讲数学证明题的证明步骤一样,来个显而易见之类的语句,把一些难以理解的步骤丢给你自己体会。你只能继续苦思冥想,还得自己折腾找更多的资料。明显耽误时间。
所以,从模仿,从上手熟练技能,从节省时间来说,我觉得看视频学习更合适。
所以对新手来说,建议视频学习为主,看书为辅,看书去弥补一些视频课程没有提到的盲点。
这里补充一下,对基础不太好想自学 Java 的人来说,也是一样,推荐先通过视频学习。
2.
时间流转,你可能工作了两三年。此时,你已经是个合格的程序员了。
但是你一直在写业务代码,一直在 CRUD,你不甘心,想追求更高的技术实力。
于是,你想更进一步的学习,比如研究下 Java 的优化,想看一下 Spring 的内部工作流程。这个时候,你去找视频看,你可能会发现视频的几个问题:
问题1. 讲解内部原理的好视频少
深入讲解内部原理的视频不是没有,但是要找到一个合适的,讲解深入浅出的视频非常难。
大多数的视频,讲的很晦涩,甚至是直接照本宣科,你听他的内容,可能就是他找了本书照着念。
问题2. 单个视频的冗余信息太多
B 站和其他网站的编程视频,无论是视频数量,还是播放量,排名靠前的往往是培训机构的视频,他们的视频普遍有一个问题:
一个视频里,各种闲杂信息非常多,要么就是诱导你交钱上培训班的,要么就是中间掺杂了很多很肤浅,你工作中已经了解过的知识,你真正想学的知识就那么一点,你需要花很多时间,才能凑出你想学习的知识。
问题3. 视频讲的不如书深入
比如,很多讲 Redis 内部原理的视频,大部分是针对面试和工作的。而对于内部原理的设计动机、网络 IO 和文件 IO 之间的配合、以及事件传播中间做的取舍,视频中是没有的。
所以,在你工作几年后想追求技术成长,完全靠视频学习已经很难了,必须离不开看书。书在此处有个好处,即经典很多,知识点也够全够深入。
我们可以通过看书形成一套知识体系,然后通过视频快速学习知识点,把知识点像填空一样填到这套体系里,视频讲的不够深入的地方,看书也恰好能加深我们的理解。
比如刚提到的 Redis,经典书就有很多,像中文有《Redis设计与实现》,英文有《Redis Essentials》等,把他们的目录章节形成体系,然后把在视频中学到的知识点填充进这套体系里。视频中没讲的知识点,就去把书上对应的章节看懂学会。这样学完后,你对 Redis 的掌握就很深入了。
对有一定经验的程序员来说,读书可以作为一种视频课程的一种引导,视频和读书可能半分你的学习时间。
3.
好了,时间又过了几年,你工作已经五年以上了。你可能已经成了一位高级程序员。
此时,你学习的目的是想成为架构师,或者是某个技术细分领域的专家,又或者是想找一些最佳工程实践去用到公司的新项目上。
你再去找视频学习,你会发现,市面上已经基本没有适合你的视频课程了……起码免费的视频没有了,哎,想白嫖越来越难,很多高级的视频要收费。
譬如,你找不到讲 JavaIO 设计思想的视频,你找不到讲 Service Mesh 工程最佳实践的视频。
这时候,你几乎无法再通过视频学习了,最多就是看看各种技术大会的视频,从演讲者的一些只言片语中去推断他们的技术思想。
要想进一步的学习,就只剩下书了,书成了你以后的唯一的伙伴,而且最要命的是很多可能还是英文书。
4.
看到这里,你应该就明白了,为什么我说看书和看视频是相辅相成。不同的人有不同的选择,不同的阶段有不同的答案。
因为视频与读书都有优缺点:
就像我前面说的,视频学习非常方便,学习效率非常高,能快速的入门。但是很多时候,你越往后学习,你越找不到合适的视频,你只能被迫通过读书去弥补视频的不足。
视频学习,相当于你去驾校学车,旁边有个老师傅手把手教你,由于有老师傅带着,你很可能感觉学的飞快,会有完全懂了的错觉。
但实际上,你的知识只学了个皮毛,还有很多瑕疵,因为没有及时练习,很多知识等到你要用的时候,你发现都忘得差不多了。
想通过视频学会 Java 编程,想掌握底层原理,那估计会让你失望的。
看书相当于自己练车,过程固然很辛苦,但是每一步你都经过了细致的琢磨,会去更多的深入思考。同时,由于看书过程中有很多不懂得地方,就会逼着你去亲自动手实践、摸索。
看书是件非常累的事情,大脑由于需要不停的思考,他需要很高的精神集中度。而视频则不然,视频信息属于灌输类的,很多需要你努力思考的知识点,老师给你掰碎了,浅显易懂的讲给你听,你少了一个不停花脑力思考的过程。
书籍信息的表达不够生动。我曾经看《Hadoop权威指南》,里面 DataNode 数据传递的过程始终理解的不够透彻,对于 NameNode 如何管理 DataNode,也是稀里糊涂,始终不得要领。
后来,我在 Youtube 上看了一些讲解的视频,里面用各种图片和动画,给你生动的展示出了里面的内部原理,我才真正的学透了这几个知识点。
所以,书籍讲解难点,受限于作者的表达方式,有些地方可能很难讲解清楚。如果你能找到对应讲解的视频,很可能这个难点会迎刃而解。
学 Java,学其他技术,无论是看书,还是看视频,我建议你都去尝试一下不同的学习方式,善于利用手边的所有资源才是最好的办法。
想想我当年学 Java 只能硬啃《Java编程思想》这种大部头,再看看现在的资源,我不禁想到《奔涌吧,后浪》里说的:
你们有幸 遇见这样的时代
但是时代 更有幸遇见这样的你们
看完觉得帮助,记得点个在看,也可以分享给你的朋友。
你好,我是四猿外。
一家上市公司的技术总监,管理的技术团队一百余人。想了解我如何管理团队——我,管理100多人团队的二三事
我从一名非计算机专业的毕业生,转行到程序员,一路打拼,一路成长。
我会通过公众号,
把自己的成长故事写成文章,
把枯燥的技术文章写成故事。
我建了一个读者交流群,里面大部分是程序员,一起聊技术、工作、八卦。欢迎加我微信,拉你入群。