自学编程

  • 学习资源推荐 https://blog.csdn.net/qq_42813491/article/details/90213353

前言

在学习编程前,你应该考虑一下市场环境。即便是互联网寒冬,编程能拿到的工资也是排在很多行业的前列。信息时代,科技永远不会停止发展,那对编程人员的需求一直存在。更多时候,编程倚仗的是自学能力,很多坑要去踩踩,很多经验要逐步积累。下面,我会分享一下我学习编程的经历,希望对你有所帮助。

认知

接触某个事物前,你应该先去了解它。我的大学专业是软件工程,这个志愿并非我主动填报的,在进入大学前,我对软件工程,对编程,一无所知。甚至,对计算机的理解还仅仅停留在基础操作和打游戏上。

  • 事实证明,这样的我在初次接触编程的时候确实被甩下了。c语言,我一脸懵逼,但班里有人学的很6,指针,链表什么的都玩的很棒棒。

  • 最开始,我觉得编程就是写写代码,一次不会就多敲。甚至有那么一段时间,为了完成作业,记忆力相对好的我试图去背代码。

  • 这并不是什么好方法,代码量一增多,背代码是下下策,能背到绝望。

  • 渐渐的,我意识到,编程的要义是业务逻辑的转化。代码记不住没关系,养成必要的逻辑思维才是关键。

  • 那种感觉就像炒菜,步骤基本固定,至于细节上加多少油,多少盐,完全是个人口味,不影响大局。

兴趣

对编程有了初步了解,你应该问问自己,真的喜欢编程吗?首先我不得不承认,对于新手来说,编程确实是一件枯燥而又乏味的事。这意味着选择编程,你会有一个适应期,这个过渡很痛苦。先不要急于给出答案,兴趣分为先天和后天的。

  • 先天兴趣自不必说,那种热爱或许比后天的更加强烈,能够让你保持一颗热衷学习的心。

  • 后天兴趣的组成成分很多。就业前景,个人价值观,某个事,某个人,某一句话,都能成为你念头转变的契机。

  • 我属于后天培养的兴趣,契机是就业前景。大一学了日语,打算以后走日语方向,去日本或者日企,然后就进了学校的对日项目组。待了大半年,结果,一言难尽,只能说完全不是我想要的。这个时候我才意识到,走语言估计行不通了,必须换一条路。

  • 当你知道某个东西能给你带来巨大价值的时候,我想你不管有没有兴趣都会去试一试的。

  • 你可能觉得,编程死活学不会,干脆就不学了。当年我也有这个心态,甚至还一度怀疑自己是不是不适合学编程。其实产生这种心理的本质就是一句话,能力不够。更深刻点,想成功不想努力。

  • 看到别人写程序6的飞起,自己只会跟着书本,视频写,离开外界的东西,自己上手大脑一片空白。于是你开始自卑,开始焦虑,开始怀疑人生。这是一个死循环,会逐步消磨你的学习热情和积极性。

  • 其实完全不必如此,我承认编程有天赋这回事,有的人就是一点就通,有的人就是怎么也不开窍。但你应该相信,这只是时间问题。别人写一个小时,你写十个小时,长此以往,你还能比对方差多少吗?就算对方是大神,这种差距也会明显缩小。编程从来不是跟别人比,是跟自己比。

  • 努力做就对了,等回头看,你已经比当初的自己强了很多。

入门

编程界,有个约定俗成的hello world,写出这个,其实不是入门,只能说是简单起步。不同的语言对入门的需求或许有些差异,我理解的入门就是能将零星的知识点串联起来做个简单的小项目。在不超出所学的范围下,想实现什么需求,就能实现什么需求,这才算入门。

html+css

  • 对于html和css,建议不要单独使用,这两个相辅相成,凑一对。在我看来,能独立用这两个小家伙做一个淘宝或者京东首页,就算是基础入门。仅仅懂一堆标签和大把样式那只能说是了解,没有实际使用是没价值的。

  • 回想一下,在这个阶段,我大概做了七八个网站吧。在我看来,这样的基础东西,不需要刻意去巩固,因为你后续的学习,基本上都会再次用到。而那个时候,你的理解会比之前更为深刻。

js

js是一门很神奇的语言,能用js实现的,最后都会用js实现。根据不同需求,js的三个组成部分的使用程度也不一样。相对而言,ECMA和DOM操作用的比BOM操作多一些。

  • 现在前端已经是大前端,js也不再是写写特效那么简单,es6系列高级语法层出不穷,企业招聘同样极为看中js,尤其是原生js。

  • 这里就不要说什么jquery了,那是另一个时代的事。以虚拟dom为设计思想的react,vue的出现,极大程度的冲击着jquery市场份额。

  • 现在我也就在ajax的时候会想到jquery,若是上了框架,还有axios,vue-resource,又没jquery什么事了。

  • 说了这么多,js什么样算是入门呢?独立做个贪吃蛇,推箱子什么的小游戏吧。在游戏中涉及面向对象,原型,js基础操作,算是比较综合的。js入门远远不够,除了面向对象的进阶,es6系列高级语法必学。要是想更进一步,自己造轮子,看源码,甚至手动封装框架,都是必修课。

node.js

如果这个时代,你还忽略node,那你必将与这个时代脱轨,不会node的前端不是一个好的后台。对于node的入门,我的建议是独立使用node+express或者koa配合mysql或者mongo系列搭建一个个人博客,社区什么的也行。

javaSE

面向对象,字符串,集合,IO这些基础学会之后,可以做一个简单的银行转账系统当做入门测试。GUI强烈建议放弃,大前端的时代,GUI传统样式丑的冒泡泡。

java WEB

不管是jsp+servlet还是用框架,建议这个入门深入一些,比如前后台都有的商城,进销存管理系统,自动化办公系统等等。学到这一步,迷你版企业级应用开发都可以试一试。

php

php是世界上最好的语言,你想要的功能,它基本都有内置函数。但是,没有手册你基本玩不转,函数实在太多,不同版本迭代还有很多坑去填。当然,它也有独特优势,自行体会吧。对于php入门,我的建议是做一个功能相对全一点的博客放在云服务器上,当成个人作品去展示,可以试着仿照csdn的设计

  • 别的不多说了,具体情况具体分析

怎么学

可能大家比较关心这个问题,我的经验告诉我,对于初学者,视频教程是最为友好的方式,有配套源码效果更佳。视频建议看三遍,代码至少三遍。不敲代码想学好编程,醒醒吧,不存在的。

  • 先看一遍视频,了解要做什么,怎么做。

  • 第二遍,仔细看看自己不理解的地方并开始第一遍写代码

  • 第三遍看视频是查漏补缺,对照自己写的代码,找寻问题所在,看懂了写第二遍代码

  • 反复写代码,一直到不依赖视频为止,不要在乎次数,会了才是关键

有了一定基础后,撸官方文档,菜鸟教程等文档性质的教程,增强读文档的能力。在之后,去看基础代码,csdn,博客园这些。之后就是书籍,有一个系统的认知。到了最后,去挑战一下github,看底层源码。

时间概念

首先,不论你家境如何,你都应该清楚,任何学习都是有成本的。如果你有大把时间,那你去网上花几个小时找免费资源,这没什么说的,可以理解,我曾经也会这样。但如果你已经毕业,走向社会,你就应该清楚,你的时间,远远比钱更值钱。

  • 意识到这一点,该开的会员我都会开,该买的资料我一定会买,能打车半小时一定不会做两小时公交,能一小时高铁就不会三小时普通列车。

  • 因为我很清楚,我这是在花钱买时间。充实自己,把更多的时间用在学习上。对于学习的投资,永远是高回报。当然,这取决于你的格局,有些人想不通这个道理,毕竟经历不同,无可厚非。

  • 别再抱怨时间不够,不刷抖音,不追剧,不打游戏,你有大把时间。当然,如果你和我一样是单身狗,时间自由度会加倍。

价值

决定就去做,坚持下去,等一段时间再回过头看,曾经站在河对岸的你早已经到了河的另一边。而那条曾经以为无法跨越的鸿沟,现在看来不过如此。你的能力,决定你的价值,加油。

  • 学习资源推荐 https://blog.csdn.net/qq_42813491/article/details/90213353
发布了450 篇原创文章 · 获赞 787 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/qq_42813491/article/details/92760241
今日推荐