你的编程能力从什么时候开始突飞猛进?

loonggg

读完需要

5

分钟

速读仅需 2 分钟

看到知乎上有这么一个问题:你的编程能力从什么时候开始突飞猛进?我就随手一答,没想到点赞量和阅读量挺高的,看来很多人都感同身受或者深受启发,所以在这里再给大家分享一下吧。

我来讲讲我的故事,或许对大家编程有所启发。

阶段一:毫无章法

那应该是在 2011 年,那时我是大二,我特别喜欢编程,我虽然读的是计算机专业,但是毕竟理论学习和社会实践并不接轨。我学习有点着急,想赶紧进行项目实战,那时候正直移动开发兴起的时候,听学长(其实是我现在的媳妇)说现在移动开发很火,在一线城市做 iOS 开发和 Android 开发很值钱。

我心动了,开始了提前自学之旅,从网上搜集各种关于移动开发的教学视频,买了一个 Android 机,搜了很多各种各样的关于 Android 开发视频,那时候移动开发刚刚开始,但是相关资料不太多,所以,很困难,学习起来毫无章法,各种学习视频都看,凑在一起。

学的是磕磕绊绊,学校的 Java 课还没开,我就提前自学,看完网上的 Java 基础视频就投入到 Android 实战中了,经常导错包,看着跟视频上敲得一模一样,为啥我运行就有 bug 呢?

这就是阶段一的情况,学的不系统,毫无章法,各种拼凑,磕磕绊绊。

阶段二:强化理解,入门了

由于我暑假提前关在宿舍自学了两周 Java 课程,也跟着视频做过 Android 项目了,但是本质上并没有入门,都是视频上敲一遍,我就跟着敲一遍,理解也不够深入。幸运的是,大二一开学 Java 课程开课了,跟着老师的教学,我又学了一遍 Java 课,由于之前自己学过,又听老师讲了一遍,对 Java 理解更深刻了,把 Java 基础都了解透了之后,才恍然大悟,之前学的并不入门,如果不能把基础理解透,只是比着葫芦画瓢,并不能举一反三,只有真正掌握透语法,原理才能让你举一反三,以不变应万变。

顿时感觉自己开悟了。

强化理解,让我入门了,从此掌握了学习编程语言的真谛的感觉,醍醐灌顶。

说到这里,其实挺羡慕现在的人学习编程的,因为太方便了,不像我们那个年代网上学习资料和课程都很少,需要自己研究,慢慢啃,现在网上的教学课程都很系统,资料也特别多。

阶段三:顿悟升级,突飞猛进

如果说阶段二让我深刻理解了学习编程的真谛是:要从基础构建系统全面的学习体系,深刻理解基础原理的话。那么阶段三就是从源码和开源入手,掌握编程的翅膀。

其实,像编程语言基础的语法,数据结构,算法这类东西,还有一些计算机原理之类的知识,这些东西都是编程和实践的根本。他们看似枯燥和基础,但是具有最长久的生命力。这是我开悟的第一层真谛。

我自学 Android 的时候,慢慢渐入佳境,突然有一天我要实现一个非常炫酷的效果的时候,在网上搜了很久,都没有找到解决办法,直到看到一篇文章在讲源码,要自定义 View ,就要看 View 类的源码,看看里面有哪些事件和方法,你要重写这些事件或者方法,就可以实现自己想要的效果。

然后自己下载了 Android 源码开始研究看看 View 里到底藏着什么东西?在大二,那是我第一次用 Source Insight(查看源码的工具),看完之后,一步一步的研究,里面到底是什么?慢慢的啃,知道什么意思之后,就自己开始尝试,最后通过继承和重写把自己想要的结果实现了,才发现自己的编程正在突飞猛进。

以后在遇到自定义 View ,实现炫酷效果时,基本上都难不倒我了。

突飞猛进正在开始。

后来,随着移动开发越来越火,另外也深刻了解了 GitHub 之后,才发现,自己原来也不需要重复造轮子,很多牛人都在里面开源,而这正是为了我的编程插上了翅膀。我在遇到一些比较难的效果的时候,现在 GitHub 寻找有没有现成的库,如果没有,那就自己动手写,如果有现成的,就直接用,不用重复造轮子,那时候,我感觉编程太快了。

后来,我想既然人家开源,我为什么不开源呢?我就把自己常用的一些效果和方法进行了封装,我也开源或者弄成工具类,等下个项目再用的时候,我就不用再写一遍了,直接引入就可以啦。

没错,到这个时候,我才真正的感觉到自己的编程突飞猛进了。

我们简单来梳理一下:

阶段一:毫无章法,磕磕绊绊,它时刻在提醒我们编程要系统的去学,而不是东拼西凑,否则就是在走弯路;

阶段二:强化理解基础,从基础原理来深刻理解编程语言才能让你举一反三;

阶段三:深入理解系统源码,学会看源码,会让你作为一个程序员有一种天生骄傲,什么效果都难不倒我,再到自己封装工具,使用开源,让你的效率飞速提升。

你看,其实编程如果你到了阶段三,再回顾之前,你就会发现编程其实就是那么简单。

而整个学习的历程对我帮助很大,对于毕业后学习 Python 也起到了至关重要的作用,让我更深一层的理解到所有的编程语言都是相通的。

在未来,是 IT 的时代,人人都会编程的时代,作为一个程序员在敲出代码,实现出效果的那一刻,有一种天生骄傲感,感觉是这个时代的主人,这个时代由我主宰。

最后一个建议就是:大家学习一定要找对圈子,自己自学我经历过,太痛苦,太孤独,也太累了,遇到问题没人商量,浸泡在不错的圈子里一起学习,成长更快。

最后,强烈建议大家关注一下我的视频号,里面常常会有干货或者分享我自己的一些经验的。扫面下方二维码,直接关注我的视频号

你的编程能力从什么时候开始突飞猛进?

最后,对话框回复关键字:“社群”,可以加入我新建的一个优质社群,进入「突破圈层,个体崛起」星球,成为我们超体中的一员,欢迎你来加入,让我们一起共同成长。

亦或者关于社群的具体内容和详细信息,大家可以参考这篇文章:

点击下方图片即可阅读

你的编程能力从什么时候开始突飞猛进?

突破圈层,个体崛起:在不确定的时代,确定的生活