无论在校大学生还是已经毕业的,还有已毕业很多年的想转行做程序员的小伙伴,开始会尝试自学编程,但尝试几次会发现自学编程太难了,折腾几个回来基本上做出两种选择放弃或者参加培训。能通过自学顺利找到工作的凤毛麟角。为什么自学编程这么难?笔者根据十几年的编程经验,尝试着总结了以下几点原因。
一. 没有学习大纲,乱学一通,丧失继续学习的勇气
目前网络上学习资料多如牛毛,各种学习方法卷牙交错,而且适合别人的方法不一定完全适合自己,所以从万千信息中提炼出对自己有用的信息不是一件轻松的事情。很多人开始的很着急,还没落实好自己的学习大纲,就匆忙上战场了,结果被撞的头破血流大败而归。兵家道:知己知彼,百战不殆。先制定学习大纲,然后收集好资料再去全力出击。
如何定制自己的学习大纲,首先确立好自己未来的方向,有了方向就容易确定自己先学习什么语言,确定了初学语言,就可以制定相对详细的计划了。怎么确定自己做的大纲是切合实际的,可以在网上找一些技术群,或者找技术文章作者,一般做技术的沟通起来比较容易,当然也可以直接联系笔者。保持耐心总会找到,方向层面的东西含糊不得。
在这提醒下那些不是计算机专业的小伙伴,在学习之前买本计算机组成原理看下,做些铺垫。尽量选择直接翻译国外的那种,相对来说质量高点。在这推荐一本给大家(计算机组成原理),方便大家学习使用。
阅读计算机组成原理,尽量的短时间内补一下计算机方面的知识,了解计算机里面的一些关键词,了解下计算机的框架结构,为学习基本的编程语言打点基础。
二. 不能专心学习一门语言,学到一半就开始切换到别的语言,这山看着那山高
很多自学的开始学的是Java,过了没多长时间又切换到python,从编程语言本身来看,学到一定层次只是在语法细节上差别,真正掌握一门语言之后,再去学习别的语言只是熟悉语法的细节而已,能够做到触类旁通。这就开始解释越是老手,学习新语言的入门时间越短。
在学的过程中不要觉得目前学的有这样那样的缺陷,耐住性子学好一门,然后再去学习下一门语言。每种编程语言都有自己适合的场景,编程语言到最后只是编程的工具而已,编程的核心点是编程思想,我们一遍遍打磨的看似是编程语法,其实修炼的是编程逻辑思想。
常见的编程逻辑思想不会超过100个,随着时间推移有个几年的经验,会掌握个20-30个模式,这个阶段基本属于信心比较强的阶段,在意识形态上展示出,来个基本的功能或者模块做起来不会那么慌了,在编码界基本上属于标准工程师级别了,业内流行着这么一句话三年培养一个工程师其实就这么点事情。随着编程年限的增加,越感到自己的掌握的匮乏。知道的多了,随之不知道的也会变多。
三. 很难一直坚持学到底,耐不住寂寞,编程的学习细节繁多,标准的脑力力气活
自学编程能否做到最后,第三点最关键,目标方向再明确,半途而废还是会放弃。很多人经历了从入门到放弃这个过程。考验是不是具备编程能力,就是能不能坐住,标准的程序员能坐在电脑边上一动不动持续8个小时,这在正常的编程工作中也是十分常见的事情,其实这也算是编程的基本功。
综上三点能自学做到,想不成为技术高手都很难了,笔者当初也是在自学中苦逼的度过的,回顾来看也是一种财富。走向技术岗位的时候,几乎是无缝对接,进入技术岗位在注重培养的单位还能安排好一点的师傅,基本上都是靠自己了,分配到任务首先自己要有一定的认知和理解力。这就为什么培训速成出来和自学的典型差异。同样是两个人一个自学,一个参加培训几句话就能很快的识别出来,培养的模式截然不同。加油吧,未来的程序员们。