学编程,多少人一上来就拿着谭浩强C语言这本书开始啃,然而啃着啃着发现不仅难学,而且学了还不知道能干嘛?
于是很多人就在这本书上重复:学习-放弃-重新捡起-放弃-重新捡起-放弃,最终得出结论:编程太难学了,开始怀疑自己的天赋和智商;
每次别人给我说这句话的时候,我都是一脸问号脸???
那为什么有的人一个月就能上手做项目呢?是天赋的差距吗?是智商的差距吗?
不,都不是!学不会那是因为你根本就是在瞎学。
你知道编程是分语言的吗?你知道C语言是最难学也是最难有成就感的语言吗?你知道每门语言都有自己独特擅长的领域吗?你知道做一个网页需要具备哪些知识吗?知道该按怎么样的路线去学习,上手更快吗?
自学编程,最忌讳的就是盲目,靠着自己外行的那点见识,一上来就学C语言;小编就吃过这个亏,自学了一年C语言,最后啥都不能干。后来有人带我学习C#,很快,一个月我就能上手开发桌面程序了(当然这里有C语言给我打下的一些基础的功劳,但是谭老师那本书学起来真的看不到头,没有成就感,很容易受挫而放弃);
从自学转行到现在已经过去几年了,这期间,一个人摸索,小编走过很多弯路,吃过很多亏,白学了很多知识,浪费了很多时间;
小编将自己自学编程的一些经验和这些年对编程的理解都写在自己的专栏里,在这里你能知道自己该按怎么样一个路线去学习,该学哪些不该学哪些,了解编程语法的原理,掌握语法的核心。
本文后半段,就给大家介绍一下,作为一个小白应该按照什么步骤学习才能快速入门?
说这句话的时候我没有任何对谭老师的不敬,书是十分经典的好书,即使码代码这么多年,每次翻看仍然会有不一样的收获;
但是,它真的不适合作为一个新手编程入门的书籍(需从事C/C++工作的例外),作为编程知识体系的书籍倒是极好的;
有的朋友可能就是单纯对做网页页面感兴趣,他拿个C语言死啃,指针绕的头都大了,你说他这是干啥?学的是很辛苦,可到头来离自己目标依旧遥远,倍感受挫。方向不对,一切都是徒劳;
很多初学编程的同学就是倒在这本书上的,经历学习->放弃->重新捡起->放弃->重新捡起->放弃这样痛苦的过程;
1、首先,学习编程前,你得去了解当前IT界都有哪些应用领域,以及各领域的流行程度。说白了,也就是搞明白学了编程你想干嘛?是开发一个网站?还是做一个爬虫爬一些福利妹子图片?亦或是做一个小程序?让学习变得有目的;
如果说,你是想做一个网页,你一上来就就拿着C语言啃,啃完你会发现页面仍然写不出来,而人家却只学习一周就能写出漂亮的页面;
每个细分的领域都有最适合最受欢迎的编程语言:
2、有了目标后,你需要去了解要进入该领域,需要具备哪些知识(也叫技术栈),规划好一条清晰的学习路线;
在我的专栏里,我以流程图的方式,按四个阶段为大家指定了清晰详细的学习计划,见下图:
3、在对自己感兴趣的领域有了整体的认识后,就是开始进入学习阶段;首先选择一门技术栈中最合适的语言,学会其基础语法;如Python你就学Python的书籍,JAVA就学Java的书籍,不要直接去啃C语言这个硬骨头;
编程语言对于初接触者是一个全新的东西,前期肯定会不适应,学的比较吃力,可能会有些语法点学的模棱两可。那是因为,很多的书籍都是强行灌输语法,很少讲原理,此时你需要的是一个人能给你把陌生的、复杂的语法用最简单易懂的语言从原理上分析给你听(市面上很少有这类书籍),这样你就能很快的掌握;
4、学习基础语法需要多练习,特别是程序结构设计(选择、分支、循环、迭代)需要熟练掌握。然后就是开始学习项目框架,比如Java做网站的spring框架、Python爬虫的Scrapy、PySpider等;框架都是支持自己的编程语言,通过框架我们可以很轻松的构建自己的项目;
以Java的spring框架为例:
5、基于框架,通过实战项目来练手,这样在项目过程中持续学习,技能提升和知识扩充是最高效的;