自学简单编程可行吗?

自学不难,难的是避免走弯路。

一、首先,不同语言的入手难度是不同的。

C/C++、JAVA。殿堂级,规范好,资源好,需求多,长期投资好。就是自学门槛高点,易犯错,见效慢,要整出一个像样的作品,单撸废劲。

比较适合有时间、有耐心的选手。

Python、PHP、Javascript、小程序。热门级,上手快,新人友好,容错率高,见效快,中小企需求大。多个第三方库东拼西凑,加以复制大法,就能组成一个自己的网站/WebApp。

比较适合着急入门的选手。

自学的话,最好根据个人过往的学习毅力,理性做选择,这样真能学成的概率大点。

个人比较推荐从「上手快」的语言开始。

二、具体怎么学好?

先说下我自己的情况。

我专业是后端的,但因为兴趣使然,业余搞过IOS、Android、SPA、每种都整过大半年以上的项目,也莫名带过几个新人入行。

我的经验建议是,一开始必须以做「成品」为目标。有目标才不会学偏学泛,导致学而无用,浪费时间。

扫描二维码关注公众号,回复: 8768458 查看本文章

其次是「勤动手」。可以选择自己平时喜欢的网站/WebApp作为练手模板。

现在不是2000年,就别再被各种三流的老师忽悠去学做枯燥的「学生课程系统」了。人就这样,当你对一个主题压根没兴趣时,学习的兴趣就坏了50%。

2019年的我们有更好的选择,诸如浅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,意味着业务逻辑复杂了,技术逻辑要求更缜密,这能促使你或多或少接触一些中高阶的技术知识点,实战能让你更深刻地理解它们。

其三,自学找工作,一个有模有样的项目,其说服力,胜过千言万语的言语自荐。

当你完成以上所有任务时,你就已经达到入门程序员的水准。

如果大家对C/C++感兴趣的话,可以加一下我们的学习交流Q群:637  935  295,免费领取一套学习资料和视频课程哟~

四、再来是一些帮助小贴士:

1、如果条件允许的话,请把你学习过程的每一个大知识点,都梳理归纳成文章集,放在csdn,自己的博客,github都行。

一来,是让自己看到努力的硕果,增强信心。

二来,是它们能丰满你往后求职的简历,增加谈资。

总之好处多多。

2、如果你是学后端的,git、redis、nginx、zookeeper、kafak、docker的入门使用,要了解一下,真实工作是会用到的。

3、有人打趣说:“感觉不懂英语学编程,跟瞎子抹黑一样,得慢慢摸,才知道是什么。英语好,起码是睁着眼睛能直接看到东西的。”

所以碰到不会的英语单词,一定要「勤查」「勤记」「勤背」。

4、预备一本技术的枕边书。我之前带人入门java,都会让他买本《java语言程序设计-基础篇》,把碎片时间利用起来,打稳根基。既然要学,想学好,自然不能放过任何学习的机会。

剩下的就是去实战了,去积累经验。有经验,才能配合进一步的学习,真正理解中高阶技术知识的作用。

那去哪实战呢?必须是去工作,这个法子最实际。闭门空想着造车,实战性和锻炼性不够。找工作的这里不详细叙述。具体就是找合适的题型,刷起来,然后认真做好一份简历。有疑惑,可以关注私聊师兄

另外,可能网上有人告诉新人要学透「设计模式」,学好「算法」,其实说得对。

但如果「新人A」一听,就不假思索,二话不说,买来一本500页的模式圣经、一本800页的算法宝典,开始从头啃到尾。

那么,能不能学好不好说,但是学到崩溃是必然的。多少业内人都没学透的东西,部分也就嘴上说说而已,而他当真一口闷,兴致不被磨光才怪,直接从入门到放弃。

即便「新人A」真能生吞20多种设计、几十种算法、也用处不大。因为他的业务经验缺乏,不足以支撑他对理论实际用处的理解。一个月后他就忘得差不多了,很浪费时间和头发。

最佳的方式是:例如设计模式,他可以先学单例、工厂、装饰这3种常见的模式。吃透了,够他在前期用了。其他的模式,等实际使用接触到,再慢慢学。一开始上路,就背着块大石头,只会压得自己喘不过气。

学习陌生的事物要「有主次,有先后」,一开始,量要小,目标也要小。要在1周内能看到终点,有盼头才有动力,能短时间就有所收获,才有学习的乐趣。

自学编程是可行的,只要少走弯路,其实比培训班学习周期短不少。毕竟人家是上万元的学费,必须拉长足够的课时,才能让学生觉得物有所值。

但是单靠零基础的自己,加网上的碎片文章和视频,其实想少走弯路有点难,时间充裕倒无所谓,算磨练自学能力。

如果时间有限,比较靠谱的方法还是:借力。

有条件的情况下,找个有经验的业内人士,帮你规划学习路线,阶段性地验收你的学习成果,查缺补漏,防止跑偏,这样会比较高效,又省心。

最后,我想跟大家分享一个朴素的心得:

自学编程的成败,不在难易,贵在坚持。

希望对你有帮助,祝顺利。

发布了174 篇原创文章 · 获赞 22 · 访问量 7157

猜你喜欢

转载自blog.csdn.net/weixin_45820912/article/details/103794092