|
前言
[indent,首先介绍一下本期文章的采访者,是总部的教研总监江老师,江老师是华中科技大学计算机学院07届的毕业生,如今已有接近14年的编程经验,一线开发经验6年,转做教研方面的工作,在编程教学方面已有8年的工作经验,学员累计超过10万人。
江老师根据自己多年的编程和教学经验,总结了自学编程常见的13个误区,今天分享给大家,学习是一辈子的事情,希望能够在你自学编程的时候避开这些误区,花更少的时间掌握你想学的东西。
由于江老师阐述的内容比较详细,为了避免篇幅比较长,所以将文章分成了2篇,这是第一篇,第二篇整理好后将会在明天进行发布。
话不多说,正式进入正题。
[/indent,
误区一:不注重基础,什么技术火我就学什么。我们以学java为例,java的应用框架很多,而且迭代速度其实特别的快,比如说框架技术,常见的就有像spring、springmvc、mybatis、jpa、springdata,再比如说分布式和微服务架构或者是技术,像dubbo、fastDFS、springboot、springcloud、docker、Zookeeper,还有RabbitMQ等等,再比如说像目前比较火的自动化部署技术,像K8s、Prometheus、Jenkins,还有Harbor等等。
那么我要提醒各位小伙伴儿的是,如果你是什么技术火你就去学什么技术,但是你的java se基础不牢,比如说你连最基本的oop、网络操作系统、基本的数据结构和算法,还有常用的设计模式,最基本的多线程高并发这些概念都没有搞懂,那么你就一味的去追求这些所谓的火的、时髦的技术,你可能会陷入一个迷茫。
那么我的建议是,初学编程的小伙伴儿一定要扎扎实实地、老老实实地把这些基础知识弄懂。
误区二:总是纠结学最好的编程语言。编程语言本身没有好与坏之分,只有什么语言适合什么样的应用场景。
我举几个例子,比如说PHP这个语言,它比较适合做外部开发,java它适合做安卓、大数据,或者是我们的java EE,C和C++它比较适合做底层开发,比如说像游戏引擎、系统软件,你再比如说汇编语言适合做驱动开发,比如python它比较适合做人工智能,go语言它是区块链的主力开发语言,适合做也可以适合做外部后台等等。
所以说从上面我所讲的,你有没有发现就没有最好的编程语言这种说法。
那么你究竟学什么样的编程语言,主要是要依据你学习的目标和兴趣。你学完这个编程语言你想干什么,然后你再决定我学什么编程语言,能理解这个意思?
忠告大家两点:
第一点,编程语言它从逻辑语法上其实都是非常相似的。你比如说java或者是C和C++或者其他编程语言,其实逻辑语法和结构其实都大同小异。你只要学会了或者精通了一门语言,你再去学别的编程语言,可以这么说,触类旁通,比较轻松,而且学习成本会大大降低,但前提是你要先学精通一门。
第二点,如果你学编程就是为了进入到IT行业或者进入到互联网,就是为了找一份工作。而你们自己目前并不知道学什么语言,如果是这种诉求的话,我建议可以考虑Python,原因特别简单,一是Python容易上手,很多人自学的时候因为入门困难就半途而废了,别想那么多,先把你自己想做的东西用编程思维呈现出来;二是Python的发展趋势很迅猛,已经连续四年在所有编程语言中增长率第一,成为最受欢迎的编程语言,未来很长,我们要有前瞻性地进行学习。
误区三:喜欢看,不喜欢动手这个误区在学编程的同学中非常常见,如果你只看教程,但是不动手,其实你是很难真正地驾驭这个编程语言。所以要提醒大家,亲手写代码非常的重要。
刚开始的时候如果你不知道写什么,有的同学就说“老师我在学的时候我就不知道写什么”,那么我可以建议大家,你就把你看的书或者是教程什么的,你把看过的项目案例给我敲一遍并且理解了。然后你根据你想做什么项目,实现一个什么功能,再具体地去写相应的代码。
我举个例子,比方你想去这个健身,练一身迷人的肌肉或腹肌,我问大家一个问题,如果你只是看教练健身的视频,你能否长出健壮的肌肉?其实你是长不出来的,你光看怎么可能长肌肉呢?你必须要自己去天天这个举哑铃或者是运动,各种运动按照教练的要求,对不对?你的饮食上还要注意,才能长出迷人的肌肉。
其实我们学编程也是一样的道理,你光看视频是不行的。
忠告:
编程它是一门做中学的学科,什么叫做中学?是在做的过程中学会的,而不是说我已经知道了,我理解了,我再去做,因为我们的计算机学科它是一门工科性质的,特别强调是动手能力。过程出错不要紧,多做几遍,多调试几遍,再不懂就去查资料或者找人问问,一点点地融会贯通。
误区四:没有认识到听懂和能使用是两回事听懂和能使用是两码事,初学者看书或者听视频,他很容易感觉这个老师讲的我听懂了。但是一旦独立让他去做一个项目或者去完成一道题,他立马就没有思路了,马上蒙圈,结果都不明白了,我不知道大家有没有这种感受。
为什么会出现这个现象?我们来分析一下原因其实特别简单,你听懂了和真正驾驭这个技术还少了一根特别重要的连线,就是大量的练习。
你没有大量的练习,其实你对这个知识点的理解只是浮在表面上的,你很难真正理解这个技术的应用场景,或者说怎么去应用这个技术才是正确的、规范的,能理解吗?
还是给大家打一个比方来说,现在你要去学游泳,游泳的时候教练就告诉你:“小伙子,我告诉你啊,你这个手怎么用?你这个腿怎么蹬,然后你怎么呼吸?”你是不是都听懂了?这个其实挺容易的对吧?但是呢如果把你扔在水池子里面,没人帮助你,你可能就被淹死,为什么?因为你没有练过。
所以,听懂和你能使用不能划等号。
忠告
纸上得来终觉浅,绝知此事要躬行。出现错误不可怕,出现错误就是你提高的关键点了。
误区五:学习时很少做笔记或思维导图这基本等于说没有将学到的知识转成自己的知识。很多自学者都出现这种情况,学编程时非常努力和勤奋,但是技术提升其实很慢。你让他说今天学了什么东西?他一脸茫然,他只知道我好像看了一些书、看一些视频。
那么为什么会出现这个情况?我给大家分析一下。因为有些小伙伴儿他在学技术的时候只是听,知识就像流水一样,从书本或者视频流出来,然后知识并没有沉淀在他的大脑,整个人就变成了一个知识的一个传输器。
因此当把这个书本一合上,就跟没有学过这个一样,毫无印象,全部忘了这个我们把它称之为无效学习。
学知识不管你是听视频还是看书,一定要明白一个道理,这些知识不是你的,是作者的,那么你应该怎么办呢?你最好是学完一个知识或者学完一个技术以后,你要用自己的语言把它总结下来,用自己的语言描述一下你是怎么理解这个技术的,这样你才能真正的把这个知识点拿下来,甚至最好能够学完一个知识体系的。
比如说把java的面向对象学完了,或者把java的多线程学完了,你最好画一个思维导图,把这些知识点精华浓缩一下,把这个知识体系建立在你的大脑里面。
自己总结和建立知识体系的方法,你学一年,甚至比别人学两年、三年效果都好。
误区六:喜欢死记硬背而不是理解原理其实这个误区跟误区五讲的内容很相似,这里再强调一下,我们在学编程的时候,的确有很多东西是需要死记硬背的,比如说语法规则和规范,比如说像java变量的命名,还有这个程序的主体结构,包括它语法的一些规范,怎么用才是一个高效的用法,而这些呢你没有办法,你只能把它背一背,因为是规则,这是规定好的。
但是涉及到功能的实现、算法、设计模式、底层机制、优化效率等等,你就不要死记硬背了,一定要去理解了。
还有一点就是不要去纠结编程的时候我记不住代码,小伙伴们只需要掌握某一个功能,用什么、用怎样一个方式或者使用代码去实现就可以了,你要知道在哪儿去找这段代码就行。
由于篇幅的问题,这次的自学编程常见误区分享就到这里了,咱们下一篇文章继续。
各位友友,我的网盘资料是越堆越多了,尤其是小白入门Python的资料,我已经用不到了,现准备拿出来分享给大家,有需要的直接拿走。
需要的话可以找我助教,她时间比较多,备注一下"领资料",方便她知道你的来意和最快速度给你东西,细品下图: |
|