很多人自学编程都会犯的错误,你也是这么干的吗?来自14年老程序员的分享(一)

前言

首先介绍一下本期文章的采访者,是总部的教研总监江老师,江老师是华中科技大学计算机学院07届的毕业生,如今已有接近14年的编程经验,一线开发经验6年,转做教研方面的工作,在编程教学方面已有8年的工作经验,学员累计超过10万人。

江老师根据自己多年的编程和教学经验,总结了自学编程常见的13个误区,今天分享给大家,学习是一辈子的事情,希望能够在你自学编程的时候避开这些误区,花更少的时间掌握你想学的东西。

由于江老师阐述的内容比较详细,为了避免篇幅比较长,所以将文章分成了2篇,这是第一篇,第二篇整理好后将会在明天进行发布。

话不多说,正式进入正题。

很多人自学编程都会犯的错误,你也是这么干的吗?来自14年老程序员的分享(一)_第1张图片


误区一:不注重基础,什么技术火我就学什么。

我们以学java为例,java的应用框架很多,而且迭代速度其实特别的快,比如说框架技术,常见的就有像spring、springmvc、mybatis、jpa、springdata,再比如说分布式和微服务架构或者是技术,像dubbo、fastDFS、springboot、springcloud、docker、Zookeeper,还有RabbitMQ等等,再比如说像目前比较火的自动化部署技术,像K8s、Prometheus、Jenkins,还有Harbor等等。

那么我要提醒各位小伙伴儿的是,如果你是什么技术火你就去学什么技术,但是你的java se基础不牢,比如说你连最基本的oop、网络操作系统、基本的数据结构和算法,还有常用的设计模式,最基本的多线程高并发这些概念都没有搞懂,那么你就一味的去追求这些所谓的火的、时髦的技术,你可能会陷入一个迷茫。

那么我的建议是,初学编程的小伙伴儿一定要扎扎实实地、老老实实地把这些基础知识弄懂。

很多人自学编程都会犯的错误,你也是这么干的吗?来自14年老程序员的分享(一)_第2张图片


误区二总是纠结学最好的编程语言。

编程语言本身没有好与坏之分,只有什么语言适合什么样的应用场景。

我举几个例子,比如说PHP这个语言,它比较适合做外部开发,java它适合做安卓、大数据,或者是我们的java EE,C和C++它比较适合做底层开发,比如说像游戏引擎、系统软件,你再比如说汇编语言适合做驱动开发,比如python它比较适合做人工智能,go语言它是区块链的主力开发语言,适合做也可以适合做外部后台等等。

所以说从上面我所讲的,你有没有发现就没有最好的编程语言这种说法。

那么你究竟学什么样的编程语言,主要是要依据你学习的目标和兴趣。你学完这个编程语言你想干什么,然后你再决定我学什么编程语言,能理解这个意思?

忠告大家两点

第一点,编程语言它从逻辑语法上其实都是非常相似的。你比如说java或者是C和C++或者其他编程语言,其实逻辑语法和结构其实都大同小异。你只要学会了或者精通了一门语言,你再去学别的编程语言,可以这么说,触类旁通,比较轻松,而且学习成本会大大降低,但前提是你要先学精通一门。

第二点,如果你学编程就是为了进入到IT行业或者进入到互联网,就是为了找一份工作。而你们自己目前并不知道学什么语言,如果是这种诉求的话,我建议可以考虑Python,原因特别简单,一是Python容易上手,很多人自学的时候因为入门困难就半途而废了,别想那么多,先把你自己想做的东西用编程思维呈现出来;二是Python的发展趋势很迅猛,已经连续四年在所有编程语言中增长率第一,成为最受欢迎的编程语言,未来很长,我们要有前瞻性地进行学习。

很多人自学编程都会犯的错误,你也是这么干的吗?来自14年老程序员的分享(一)_第3张图片


误区三:喜欢看,不喜欢动手

这个误区在学编程的同学中非常常见,如果你只看教程,但是不动手,其实你是很难真正地驾驭这个编程语言。所以要提醒大家,亲手写代码非常的重要。

刚开始的时候如果你不知道写什么,有的同学就说“老师我在学的时候我就不知道写什么”,那么我可以建议大家,你就把你看的书或者是教程什么的,你把看过的项目案例给我敲一遍并且理解了。然后你根据你想做什么项目,实现一个什么功能,再具体地去写相应的代码。

我举个例子,比方你想去这个健身,练一身迷人的肌肉或腹肌,我问大家一个问题,如果你只是看教练健身的视频,你能否长出健壮的肌肉?其实你是长不出来的,你光看怎么可能长肌肉呢?你必须要自己去天天这个举哑铃或者是运动,各种运动按照教练的要求,对不对?你的饮食上还要注意,才能长出迷人的肌肉。

其实我们学编程也是一样的道理,你光看视频是不行的

忠告

编程它是一门做中学的学科,什么叫做中学?是在做的过程中学会的,而不是说我已经知道了,我理解了,我再去做,因为我们的计算机学科它是一门工科性质的,特别强调是动手能力。过程出错不要紧,多做几遍,多调试几遍,再不懂就去查资料或者找人问问,一点点地融会贯通。

很多人自学编程都会犯的错误,你也是这么干的吗?来自14年老程序员的分享(一)_第4张图片


误区四:没有认识到听懂和能使用是两回事

听懂和能使用是两码事,初学者看书或者听视频,他很容易感觉这个老师讲的我听懂了。但是一旦独立让他去做一个项目或者去完成一道题,他立马就没有思路了,马上蒙圈,结果都不明白了,我不知道大家有没有这种感受。

为什么会出现这个现象?我们来分析一下原因其实特别简单,你听懂了和真正驾驭这个技术还少了一根特别重要的连线,就是大量的练习。

你没有大量的练习,其实你对这个知识点的理解只是浮在表面上的,你很难真正理解这个技术的应用场景,或者说怎么去应用这个技术才是正确的、规范的,能理解吗?

还是给大家打一个比方来说,现在你要去学游泳,游泳的时候教练就告诉你:“小伙子,我告诉你啊,你这个手怎么用?你这个腿怎么蹬,然后你怎么呼吸?”你是不是都听懂了?这个其实挺容易的对吧?但是呢如果把你扔在水池子里面,没人帮助你,你可能就被淹死,为什么?因为你没有练过。

所以,听懂和你能使用不能划等号。

忠告

纸上得来终觉浅,绝知此事要躬行。出现错误不可怕,出现错误就是你提高的关键点了。

很多人自学编程都会犯的错误,你也是这么干的吗?来自14年老程序员的分享(一)_第5张图片



误区五:学习时很少做笔记或思维导图

这基本等于说没有将学到的知识转成自己的知识。很多自学者都出现这种情况,学编程时非常努力和勤奋,但是技术提升其实很慢。你让他说今天学了什么东西?他一脸茫然,他只知道我好像看了一些书、看一些视频。

那么为什么会出现这个情况?我给大家分析一下。因为有些小伙伴儿他在学技术的时候只是听,知识就像流水一样,从书本或者视频流出来,然后知识并没有沉淀在他的大脑,整个人就变成了一个知识的一个传输器。

因此当把这个书本一合上,就跟没有学过这个一样,毫无印象,全部忘了这个我们把它称之为无效学习

学知识不管你是听视频还是看书,一定要明白一个道理,这些知识不是你的,是作者的,那么你应该怎么办呢?你最好是学完一个知识或者学完一个技术以后,你要用自己的语言把它总结下来,用自己的语言描述一下你是怎么理解这个技术的,这样你才能真正的把这个知识点拿下来,甚至最好能够学完一个知识体系的。

比如说把java的面向对象学完了,或者把java的多线程学完了,你最好画一个思维导图,把这些知识点精华浓缩一下,把这个知识体系建立在你的大脑里面。

自己总结和建立知识体系的方法,你学一年,甚至比别人学两年、三年效果都好。


误区六:喜欢死记硬背而不是理解原理

其实这个误区跟误区五讲的内容很相似,这里再强调一下,我们在学编程的时候,的确有很多东西是需要死记硬背的,比如说语法规则和规范,比如说像java变量的命名,还有这个程序的主体结构,包括它语法的一些规范,怎么用才是一个高效的用法,而这些呢你没有办法,你只能把它背一背,因为是规则,这是规定好的。

但是涉及到功能的实现、算法、设计模式、底层机制、优化效率等等,你就不要死记硬背了,一定要去理解了。

还有一点就是不要去纠结编程的时候我记不住代码,小伙伴们只需要掌握某一个功能,用什么、用怎样一个方式或者使用代码去实现就可以了,你要知道在哪儿去找这段代码就行。

很多人自学编程都会犯的错误,你也是这么干的吗?来自14年老程序员的分享(一)_第6张图片

由于篇幅的问题,这次的自学编程常见误区分享就到这里了,咱们下一篇文章继续。

各位友友,我的网盘资料是越堆越多了,尤其是小白入门Python的资料,我已经用不到了,现准备拿出来分享给大家,有需要的直接拿走。

 

需要的话可以添加我助教的微信(pykf20),她时间比较多,备注一下"领资料",方便她知道你的来意和最快速度给你东西,细品下图:

 

你可能感兴趣的:(Python干货,编程语言,人工智能,java,python,程序员)