任亚飞
没入门 C 语言之前,我对于电脑知识就是个小白,怎么入门是一个很大的问题,毫不夸张地说这涉及很多学科知识点。下面我结合自己的学习过程介绍一下怎么学习C语言。
学生时代我加入了学校的实验室,作为一枚新生,什么都不懂,什么都是好奇的,看到有人在焊接电路板,就想焊;看到有人在画 PCB,也想画;作为一个农村出身的我来说,什么都是新鲜的,什么都是有趣的。学长们带着我从51 单片机的培训开始,主要内容就是如何利用 C 语言写出自己的代码,去控制单片机工作,最简单的就是用代码控制一盏灯的亮灭了(跑马灯)。从此以后我就一步步确定了单片机这个工作方向(主要动力就是感兴趣,对技术的敬畏和渴望)。
已经确定要学习 C 语言,我要如何继续走下去呢?视频+ 书籍+ 网络。这就是我的答案,并且我的观点是视频为主,书籍为辅,遇到问题上网搜,这是我认为最快的入门方式。注意这只是入门的方式,如果入门之后你还采用这个模式,那效率就太低了。
为什么说这种方式入门最快呢?对于视频,一定要选择有口皆碑的视频,不能随便找一个视频就开始学了,这样得不偿失。如果说你不知哪个视频比较好,那么上网搜吧!你要相信,你遇到的绝大部分问题别人都遇到过,不管是技术上的,还是生活上的,都是如此,不懂就问。
视频学习有很多好处。每一个能录制视频的人在这个领域肯定比我们小白强,以他们的思维高度讲授的内容更全面,更具有代表性,同时他们也会在讲授的过程中穿插一些自己的编程经验,自己的思考、故事,让你的学习不那么枯燥。而且,如果你选择的视频是有口皆碑的,那么不管从内容上,还是教学方式上肯定都是比较适合小白学习的,不然不可能那么多人推荐的。而如果你碰到的是一位幽默的老师,那么你可能就是在边学边笑中度过了。我一直认为,能把复杂的东西用通俗的方式解释才是最好的,所以我的笔记一直都向这个方向努力,尽可能地通俗化;我也相信一张图片能胜过千言万语,所以我的笔记中有很多图片,尽可能地将自己的理解转化为图片方式显示在读者面前。
对于书籍,不要过多地看,要把重点放在视频上,要理解好视频中讲的每一个知识点。如果没听清楚,那么退回去再听;如果不理解,那么暂停一下,自行思考;如果实在理解不了,那么暂时放弃即可,不必钻牛角尖。开始的时候一定要将重点放在对视频的理解上,当你理解差不多的时候,你再拿起你的书,再对视频中介绍的知识进行系统全面的学习,因为有的时候视频看得太快,忽略了一些东西,而且视频中讲的内容很少,只是一个引子,你要通过这个引子对书上相关的知识进行更全面的学习,当然这个学习过程可以在你把所有的视频看完之后再进行,毕竟有了整体的印象后再进行书籍学习更有好处。对于视频中没有介绍的知识点,别去看,现在的你不要看太多书上的知识,以后用到以后再说。我把郭天祥的视频都看完了,但书却没有。郭天祥的书砖头一样厚,每一页都看,那不累死我这个小白吗?
通过视频+ 书籍的方式你已经掌握了足够的理论知识,那理解得好不好,就看你的实践效果了。没有实践的理论是空洞的理论,没有理论的实践是盲目的实践。我初中班主任说过这么一句话:一看就懂,一做就错,说的就是这个道理。很多时候你自认为理解了,但是到底理解得正不正确,就看你的实践了。实践除了能帮你验证你的理解,还能将你当前的问题暴露出来,让你知道你的不足在何处,同时也能增加你的学习兴趣,毕竟看着自己亲手做出来的东西还是很有成就感的。
对于代码,除了多敲,还要多看。网上有很多源代码可以参考,同一種需求可能有多种解决方式,通过多学习别人的方法,你将进步更快,毕竟一个人的思考能力总是有限的,也很容易被当时自己的知识水平、思维习惯限制住,所以一定要多学习别人的代码,然后在理解的基础上丢开参考代码,自己独立写出来。我在单片机学习的过程中,看得最多的就是 STM32的库函数了,如果你想学习如何规范写代码,如何写出一个好的底层驱动程序,那么看库函数的源代码是一种不错的选择。写代码的时候注意多写一些注释,但也不是每一行都要写注释,那不累死,但关键点一定要写出来,方便自己以后理解,也是防止以后回来改代码的时候不小心掉进自己挖的坑里了。
当你入门之后,你就要抛开视频了,毕竟视频学习适合入门,却不适合进阶。因为视频还是比书籍稍微啰唆那么一点,而且时间也比较长,所以不建议用视频去进阶了。这个时候就要以书籍为主。网上有很多书可以看,有电子版,也有实体书。如果喜欢实体书,那买实体书看就行;如果喜欢电子书,那么上网搜就是了,很多都是免费的。
做技术的一定要有长期学习的觉悟,毕竟社会发展得太快了,有很多新东西要学习,不能墨守成规,认为自己当前的技术水平足以应对当前工作就停止学习了,而且我也不认为你把当下所有的旧技术都学会了,更别说新技术了,当然也不是说旧的技术没学完,就不能学新技术,看情况、看兴趣的,重点是你不能停下学习的脚步。