文章目录
这篇博文是我的个人思考以及总结
学编程很难,确实很难,那其他专业就不难吗?纯数学,理论物理专业,嵌入式相关专业,它们都难,可能难点不太相似。这篇博文我会谈谈我自己关于如何学好编程的看法
为什么学编程?为什么要学编程?为什么要进入这个 IT 行业?是哪些人会进入 IT 行业?他们又是怎么进入的?对于很多非 IT 圈的人来说这些问题似乎很吸引他们的眼球。下面我会逐一的讲解
首先为什么学编程?
我所看到的学习编程的人中理由无非有以下几点
- 本科专业是计算机相关,毕业后顺理成章进入到该领域,人数较多
- 专业非计算机,但是看到计算机相关工作薪资待遇较高,于是自学或是培训或是考研跨考的方式进入该领域,人数较多
- 自己对程序设计等计算机相关技术有着浓厚的兴趣,希望进入该领域,人数较少
这里我的身份是第一类人,但是同时我自认为我也兼具第二类和第三类人的身份。
第一类人说好听一点,可以说是高中毕业时,能够明确自己的兴趣点和方向选择到一个合适的专业,说难听点就是撞了一个好运气,但有时运气也是一种能力
第二类人也能理解,国内房贷压力大,能尽早做到财务自由的应该只有两类人,做金融的和做 IT 的,顶级学府做金融,次级学府做 IT,对于我们个人来讲肯定是稳赚不亏的,但是对于国家的科研发展来讲肯定是有害的。向前看齐,依据现在的行情首先得向钱看起,很无奈却又很现实
第三类人,是我比较佩服的一类人,应该也是所有技术圈内人们佩服的一类人,他们做技术比常人多了一份热情,多了一份信仰,他们可能也是计算机毕业,他们可能也会向钱看齐,但是这种对编程的热情在他们心中具有绝对不可撼动的地位,这类人较少,但是他们确实也足够厉害
工作当中遇到的人里头,第一种和第二种占绝大部分,第一种比第二种多,可能因为我所在的这家公司校招人数较多的原因吧,第三种就很稀少了,如果存在一般都是那种大牛级别的
俗话说兴趣才是最好的老师,这话真的是一点都不假
编程难在哪?编程难在哪呢?
-
难在学习的广度上
学习的知识并不单一,要想学好编程,可不仅仅要去学习语言,语言只是一个基础,还有很多相关的技能和知识要去学习
难度级别 ☆ ☆ ☆ ☆ ☆
-
难在学习的持续性上
首先要学的东西本身就已经很广了,再加上学习的内容极有可能过个两三年就更新迭代了,你又得去学习新的东西,本来学习广度就表示你需要不断学习才能在数年内学完一些基础的东西,再加上你可能还没开始学,一些技术又更新迭代了,所以你得时刻保持学习的态度
难度级别 ☆ ☆ ☆ ☆ ☆
-
难在学习的能力上
从事该行业必须要具备一项技能,那就是快速学习技术知识的能力,给你几天时间能不能把这个框架学好达到去应用的地步。快速学习的能力与知识点是否具备无关,与个人知识接受能力有关
难度级别 ☆ ☆ ☆ ☆ ☆
-
难在知识的深度上
若果说前面三点的难度上比数学物理或者其他专业要难很多,但是这一点可能要不及它们。论深度绝对比不上纯数学,数学性质的知识可能需要专业人员长时间专注于某一点,虽然计算机也分专业领域,但实际上其他领域的知识他们也是必须要学习的,因为这些对于他们来讲仅仅是个基础
难度级别 ☆ ☆ ☆ ☆
编程者的历程我所看见无非这几类:
- 计算机大学期间苦心钻研,学习大量知识,毕业后求职,成为一名码农
- 计算机大学期间按部就班或者是荒废学业,毕业后较难找到计算机工作,但是有一部分还是幸运进入 IT 行业,一部分培训进入 IT 行业,另一部分从事其他行业
- 非计算机专业大学期间,苦心学习编程,毕业后求职计算机依旧比较困哪,一部分成为码农,一部分放弃转行,另一部分参加培训机构最后成为码农
- 社会上毕业多年的人通过一些培训机构转行成为码农
- 非 IT 圈的人通过自学跳槽到 IT 公司,这类人很少
为什么大学按部就班的学习到最后依然较难找到一家合适的 IT 行业的工作呢?为什么非计算机专业的人苦心学习计算机到最后找到一份高薪的程序员工作也是很有难度的呢?
因为中国的大学设立的课程无法与社会中计算机岗位所需技能接轨,就是供需不对口,这是两个原因造成:1.计算机行业知识技术更新迭代太快,大学教材使用的技术较为老旧,大学中的教材也不可能两年就换一版,这是不现实的 2.中国大学培养学生的目标不是冲着培养一个优秀程序员去的,中国本科大学的目标都是培养优秀的计算机领域的人才,而不是程序员,这一点很重要,这表明教材教的可能更多偏向于底层原理,偏向于理论知识,而不太注重实践等方面,从这一点上来讲,国内也一直在改革,缩减进入本科的人数,加大专科的招生力度
程序员这一行业入门比较费劲,很有可能学了很久还没有入门,因为很多人弄错了方向,也没有专业的指引,这就是为什么其他行业想迈进 IT 行业比较费劲的原因,这也是近几年 IT 培训火热的原因
如何学好编程?如何学好编程?学好编程你需要:
先介绍你所需要的品质
- 不怕数理化这类型的逻辑思维的学科,至少敢于主动去啃它们,不是说编程者需要这些知识点,而是编程中的逻辑思维过程不比数理化当中思维的复杂度要少
- 拥有终生学习的心态,如果是想毕业之后仅仅是找一份工作,希望好好享受生活的,不愿意让工作的东西占据太多,那你可能也不适合这一行,首先心里得明白这一行必是时刻学习
- 遇到困难决不能气馁,无耐心,而是找不同的突破口尝试来解决问题,这一点在实际中尤为重要
- 能让自己坚持学习的毅力,这一点短期看不出成功,长久的收益确是巨大的
- 拥有快速学习的能力,能够在极短的时间内学完某项技能,只一点在实际当中也是经常遇到的
- 对程序设计始终抱有热爱,不管遇到何种困难,兴趣是最好的老师
- 专心专注的能力
再介绍具体的做法
-
将所学知识用于实践,practice makes perfect,只有不断去使用才能促使你学的知识够牢固,平常回想起一些学到的点可以经常性的去思考去回顾
当我学习 Linux 知识的时候,由于我本人使用的 windows 系统的电脑,我将 windows 的 cmd 控制台更换成了 git bash 控制台,也将 idea 中的 terminal 换成了 bash.exe,就是为了我在平常实践当中直接使用 linux 来代替 windows 巩固我所学到的东西
-
每周每月指定学习计划,每天列计划表明今天的任务和学习项目
我用的是 windows 自带的便签来记录日程安排
-
所学知识通过博客的形式记录下来,以后方便复习查看
我用的是 csdn 来记录自己所学,当然用 cnblog,印象笔记,有道云等都是可以的
-
定期的回顾复习之前所学知识,通过复习博客的形式
-
平时学习的时候不仅仅是学知识,还有自己尝试搭建框架或者搭建环境来加深学习印象
-
加入一些技术圈子和社群与大牛沟通交流
什么样的人不适合做编程呢?
- 耐心不够
- 脾气比较暴躁
- 对数理化之类的学科不感冒
- 对编程无感
- 逻辑思维能力不强
- 害怕困难
- 不喜欢总结知识