针对这个问题,我上午看到了@品雪一年前写的一篇文章,很不错,在此强烈推荐给大家,希望对有同样需求和疑惑的同学有所帮助。
原作者:@品雪原链接:https://zhuanlan.zhihu.com/p/21475104原出处:知乎目标决定方法,如果是想转行做职业程序员,那还是老老实实把基础概念搞清楚,系统的学一门语言一个平台,虽然风口来时只会点皮毛也能唬住一些外行、混到一个不错的收入,不过即使努力边学边干熬过去了,有这样心态的人也很难有长远的发展,风口总是会过去的,一直在程序员底层混着,不会比其它行业愉快的。
不过,也未必要把四大基础课程(计算机原理、数据结构与算法、操作系统原理、编译原理)都深入学完才算有基础概念了,基础不好的程序员刚工作时,挺容易陷进这个坑里。这些东西迟早是要补回来的,不过开始只要有个最粗略的概念也够干活的了。严格说来,系统学习与快速出活的矛盾是一个永远需要面对的问题,需要根据具体情况和个人兴趣找到适当的平衡点。在碰到问题时,作为深入系统的学习的契机是很好的,假以时日就会变得非常专业。总是解决过眼前需求就算,出活比较快,但是对个人的长期发展是很不利的,因为水平总是很浅。
在这里,先插一句,对于没有基础的初学者来说,学习编程最重要的是保持初心。当初怎么想起来学编程的呢?
是想把自己理想里的网站、移动 App 或者工具应用做出来,还是要求解专业方向上的问题,或者完成一个游戏、制作一个交互动画效果,还是别的什么。学习时,编程语言的诸多规定要记,开发平台的许多细节要熟悉,上手时debug的各种没头绪,如果陷到里边又没有搞出什么成果,太容易上演从入门到放弃。时时记得自己是为什么来学习编程的,学会一点,就用一用,明明白白感受到每天进步一点点,坚持下来的概率就大很多了。
把一门编程语言的细节都学透了,会是一个漫长的征程,你并不需要成为人肉编译器或解释器才能运用它,学会流程控制语句和基本的程序结构算是入门了,之后就可以开始给自己的项目添砖加瓦了。这样比较能保持长久的热情。昔年我还在上大学的时候,有很多同学抱着谭浩强版《C语言程序设计》学编程,基本上都从入门到放弃了。固然有书写得不好的因素,缺少目的性也是一个很关键的因素。
那么语言本身怎么入门呢?
对初学者,我喜欢推荐https://www.codeschool.com的教