如何自学编程

我计划于2017年7月18日晚8点,在知乎开设第二场Live——《如何自学编程》。

Live报名方法及具体讲述的内容,请点击以下链接:

知乎Live:如何自学编程

下面讲讲我开设这场Live的背景。

我是一个老程序员了,从学习的最初阶段起,就开始敲代码。

事隔多年,我仍然记得,那是1994年4月的一天,我在逛新华书店时,无意中看到了一则桂林电子工业学院老师开办的一期电脑培训班的广告,当时反正无事,我就报名了,后来证明,参加这个培训班就成了我决定进入计算机行业的诱因,培训班毕业之后,我就开始系统地自学,用大约两年的时间,啃下了计算机专业的骨干与核心课程,并且疯狂地喜欢上了编程。

我最早下功夫最多的是C语言,学的是那本现在被无数人骂的谭浩强的《C程序设计》一书:

我把书里面所有的习题和例子,全部都敲了一遍, 那个年代,无处上机,就“纸上谈兵”,先在白纸上写代码,然后在为数不多的上机时间里抓住一切时间录入和调试。

二十多年了,我先后学过Pascal、Visual Basic、FoxPro、Delphi、C++、PowerBuilder、Java、C#、Python、JavaScript……等好多种编程语言,基于MFC、VCL、WPF、Android SDK、Angular、Ionic等各种类库、框架或平台写过各种各样的程序,还参加了大大小小的许多项目,听到哪个项目来钱,就想办法混进去,项目中需要用什么就学什么,于是乱七八糟的东西学了一堆,基本上每年都在倒腾代码,多的一年就撸了五六万行代码,没仔细统计过,二十多年下来,怎么着也至少写了二三十万行代码吧?

我学编程没有高人指导,在最初学习的阶段,那个年代计算机很贵,没多少人能买得起个人电脑,也没有互联网可上,各种技术书籍资料价格昂贵且很匮乏,只能自己瞎捣腾,其结果就是虽然我当年学习极为投入且热情澎湃,但走了N多个弯路,N多个坑都掉进去过,再垃圾再丑陋的代码我也写过,后来慢慢地才聪明了一些,明白了一些。

从教以后,我承担了为我们学院(北京理工大学计算机学院)的本科生和研究生讲授软件开发相关课程的教学任务,其实这是最适合我的工作岗位了,由于工作职责所在,我开始系统地回顾和总结自己软件开发相关的经验与教训,阅读了大量的软件开发相关的资料,回顾反思,并在实践中进行验证,对编程这件事,我慢慢就有了更深的理解。

思有所得,行有所得,我就把这些理解通过授课与写作这些方式传播开去,互联网的普及加快了这种知识的传播效率,并且能得到越来越及时的反馈,我很开心地发现,我这些从实践中总结出来的东西,也许并不完备,也许并不高大上,也许并不具有普适性,但确实地切切实实地帮助了不少人,让他们能不再走我走过的弯路,绕开了我曾经掉入的、让我吃尽了苦头的坑,能以更高的效率学习。

事实己经证明,在上过我的课,看过我写的书和文章,学过我录制的MOOC等各种在线教学视频的人群中,有不少超过了我的水平,到达了我不曾到过的高度。

被学生和读者所超越,其实是作为一名教师和知识传播者最大的成功。

2017年5月16日,作为一次试验,我在知乎开设了我的第一次Live——如何自学计算机专业课程,最初想着能有个一两百人也就算不错了,但事实远出乎我的预料,居然有超过4500人参加,其中有近六百位朋友给这场Live打分,得到了98%的好评。


开心,高兴。

我还有不少东西想倒出来与众人分享,于是有了这第二次的Live,介绍我体会最深的内容,和大家聊聊编程这件事。

我看到有不少年轻人,为了找份程序员的工作,花费高昂的学费去参加各种各样的软件技术培训班,其实我说啊,你要是不那么心急的话,愿意拿出一到两年的时间,自我训练,自主学习,是完全可以达到“找一份程序员工作”这一目的的,通过这种方式学出来,除了慢点,时间长点,不仅效果不比直接参加培训班差,甚至更好。

通过自我刻意训练来学习编程,其实就与通过体育锻炼来减肥类似。你想达到的目的是为了减肥,那真正安全健康的减肥方式,不是吃药和做手术,而是通过科学的合理的饮食和适当的体育锻炼,让消耗大于吸收,慢慢地,身上的肥肉就安全地减下来了。


在Live中所讲授的内容,并非我的独创。是我收集与整理了很多其他人的开发经验与感悟,阅读了许多与编程和软件技术学习相关的著作, 将他人的经验和教训与我个人的亲身经历结合起来,进行提炼和系统化后才得到的,当然你可以自己完成这个工作,但需要花费大量的时间,相信我的工作成果能帮助你节省下这些时间与精力。

我希望这次Live所介绍的内容,能给参与者以实实在在的指导与帮助。

祝学习进步!

50 条评论