如何自学编程

看极客时间某专栏里有几篇编程入门篇的文章里罗列了很多书,文章和文档的链接,种类繁多,个人觉得对初学者并不是十分友好,给学过的人查漏补缺是可以的。

把过多的内容推给初学者,而一般的初学者暂时没有能力和意识去分辨这些内容,怎么去学,怎么去用,如何分配时间和精力也是一个问题。

学习的话,还是要按照个人的节奏来,不是说看到这些人列的书单就一定都要去看,书读多了可能你就陷进去了,成了书呆子,空有理论。最重要的是,一定要结合实践。
 
如果是自学并且在实践,其实很多东西你自发地就会去了解,最好不要想着死学别人列出来的就一定能达成什么目标,别人的书单终究是别人的学习路线别人的学习思路导出的,不能说是通用的,也不能说是无用的,各人得自己去消化,调整为适合自己的方式方法。

如何入门编程

这里我说下我认为应该如何入门编程,个人看法仅供参考。

自学

通过实践来学,以项目驱动。对于有自学能力,对编程有兴趣或是能够迫使自己感兴趣的人,他们会自己去创造问题,分析问题,解决问题,如此往复,期间学习的基础理论和项目实践结合起来,入门绝不是什么问题。

借力

如果身边没有趁手的项目,自己也没有想法怎么去自学的话,比较现实的一种解决方案是,把规划交给有能力,有时间培养别人的人去做。

拜师怎么样?这个就取决于你的眼光和“师傅”的水平了。

培训机构呢?这个我觉得可以尝试,这种成型的机构在相关专业培训上是专业的,收费机制也在一定程度上保证你能得到一定程度的服务。如果你是在一个有保障的培训机构中,无论你在培训中学的是什么技术,什么语言,什么框架以及做的是什么项目,至少你能入门。

把学习规划交给培训机构去做,而你先单纯地去执行。在入门以及你开始对编程有了一定的理解之后,你就可以开始自己规划了。

入门之后

基础理论

入门之后,你最好得开始夯实基础,基础的理论你得搞懂,例如操作系统,编译原理,计算机网络和数据库原理等。

新技术层出不穷,但底层的技术却往往是新技术的坚实基础,掌握好基础理论,你才能看清新技术的本质从而适应快速的技术迭代,而不是疲于学习如何使用新技术。

基础理论有什么用?它让你能够理解从二进制到眼前的用户界面之中发生了什么,那么自然的,你也就有能力在发现一些问题后想通其是如何产生,而你又该如何解决的。

项目应用

光有理论还不行,你还得熟悉对应现实场景中实际应用的技术,如各种框架,应用层的技术。