自学从来都不是难事,难的是坚持与避免少走弯路。
一、首先,不同语言的入手难度是不相同的。
C/C++、JAVA:属于殿堂级,规范好,资源好,需求多,长期在、投资好。就是自学门槛较高,易犯 错,见效慢,要整出一个像样的作品,单打费劲。
这类比较适合有时间、有耐心的同学。
Python、PHP、Javascript、小程序:属于热门级,上手快、对新手友好,容错率高,见效快,中小 企业需求大。经过多个第三方库东拼西凑,加以复制大法,就能组建一个自己的网站/WebApp。
这类适合着急入门的同学。
在自学路上,小编个人推荐从【上手快】的语言学习开始。
二、具体怎么学好?
小编的自身经验是,一开始必须要树立以做【成品】为目标。当我们有了目标后才不会学偏学泛,导致学而无用,浪费时间。
其次是【勤动手】。可以去选择一些自己平时喜欢的网站/WebApp为练手模板。
现在已经不是二十年前的世界了,千万不要再去做像【学生课程系统】这种学习了。现在的人,当对一个主题压根没兴趣时,学习的兴趣就坏了50%。
2020年的我们有更好的选择,诸如浅copy微博,B站等等,关键是你喜欢。
新手入门,浅copy练手模板就行,主要目标是学会「增」「删」「查」「改」内容。麻雀虽小,但五脏俱全,在实际的工作开发中,60%代码都是写这些东西。所以,学会并熟悉跟其相关的技术知识点是最必须的。
三、入门学习方向和目标确定好后,就是分配阶段性的学习任务。
以后端为例简单说一下:
首先,我们要准备一个辅助学习工具:菜鸟教程。主流语言的基础知识都汇集在此,而且其中有各种案例,非常方便新人快速了解知识点。
编程工具的话,新手整个简洁的vscode、sublime就好。不要去弄太复杂的配置,很影响的学习情,先看到「hello world」才是关键。
然后,在学习的过程中要多搜索、多借力于能「完成任务」的文章和视频。记住,是跟「完成任务」有关的。
接下来,我就逐一介绍6个主要的学习任务。
它们彼此互有关联,由易而难,循环渐进。
第 1 个任务是:copy一个静态页面。
简单来说就是做一个展示内容的页面,目的是搞懂html、css的基本语法,明白一个简单的页面由哪些东西组成。最重要的是,这个任务门槛低,完成时间短,能让你快速看到小成果,学起来也更有动力。
第 2 个任务是:copy一个动态列表页。
在搞定展示内容的基础上,尝试动态填充内容。这时,你需要初步接触Linux、部署服务软件、数据库Mysql、语言框架,开始有一定难度了。
具体可以分两步走:
第一步是:先不去管数据库,把数据写死在编程语言中,然后学会把数据显示到模板中。
目的是学会使用数据和遍历数据。
第二步是:在完成第一步的上,学习使用数据库。
目的是明白SQL的语法。
第 3 个任务是:copy一个登陆模块。
这个很关键!登录功能是多数应用软件绕不开的核心模块。
目的是了解session、cookie这些经典知识,以及初步接触完整闭环的功能逻辑。
第 4 个任务是:浅copy一个发布功能。
在有用户登录和动态列表页的基础上,我们加个发布功能。
目的是学会新增数据,并把前面的所有任务内容串起来,进一步明白业务从前端到后端的大体运转过程。巩固加深对业务的开发流程的认识。
第 5 个任务稍微虚一点,养成分析项目业务的小习惯(不考虑各种复杂情况)
分析业务是程序员的必备能力。平时使用web和app时,多留个心眼,想想看这个功能的数据结构是由哪些元素组成的。
目的是养成系统化的业务思维,这对更好地学习编程非常有帮助。
第 6 个任务,选一个较小的生产级别的Web/APP,做有一定深度的Copy。
这样做的好处有两点:
其一,可以帮助巩固原有的知识,起到温故而知新的作用。
其二,有深度的copy,意味着业务逻辑复杂了,技术逻辑要求更缜密,这能促使你或多或少接触一些中高阶的技术知识点,实战能让你更深刻地理解它们。
其三,自学找工作,一个有模有样的项目,其说服力,胜过千言万语的言语自荐。
当你完成以上所有任务时,那么恭喜你,已经达到入门程序员的水准。
四、最后的帮助小贴士:
1、如果条件允许,建议大家把学习过程的每一个大知识点,都梳理归纳成文章集,放在csdn,自己的博客,github都行。
一来,是让自己看到努力的硕果,增强信心。
二来,是它们能丰满你往后求职的简历,增加谈资。
总之好处多多。
2、如果你是学后端的,git、redis、nginx、zookeeper、kafak、docker的入门使用,要去了解一下,真实工作是会用到的。
3、有人打趣说:“感觉不懂英语学编程,跟瞎子抹黑一样,得慢慢摸,才知道是什么。英语好,起码是睁着眼睛能直接看到东西的。”
所以在碰到不会的英语单词时,一定要「勤查」「勤记」「勤背」。
4、预备一本技术的枕边书。小编最开始买的就是《java语言程序设计-基础篇》这本书籍。用生活中的碎片时间都利用起来,打稳根基。想要学好,那自然是不能放过任何学习的机会。
剩下的就是去实战了,不断去积累经验。当我们有了经验,才能配合进一步的学习,真正理解中高阶技术知识的作用。
小编给大家整理的少走弯路就到这里了,在坚持的路上只能靠小伙伴们自己咯!