如何快速Get 编程技能?
编程可能是继英语学习之外,另一个往往耗费了很多时间但收获颇少的一种技能;只要看看编程培训学校前赴后继的学员就能了解情况;其中的学员不乏四年软件专业的本科生,很多在毕业找工作前,都要到这些培训学校进修一下才觉得有底气; 编程真的这么难吗? 念了四年计算机专业还需要去培训学校进修? 这其实无关难易,就像英语也不是一个难到需要耗费大家10多年时间去学习的技能,但大部分人还就是耗费了这么久的时间,并且还没学好;
接下来我们就分析一下,看看导致编程学习效率低下的原因包括那些?
1 编程涉及到很多知识点;
软件开发是一个日新月异的行业;很多新技术不断涌现; 希望从事软件开发的学生需要学习很多基本知识;首先要精通一门开发语言,其次要熟悉一些开发框架,还要对数据库,缓存,多线程,同步互斥,架构设计等概念熟悉理解; 这么多的知识点,光是学习一边就需要耗费很多的时间,更不用说融会贯通,应用在实际项目中了;
2 实际项目开发依赖经验,经验需要积累;
在基础知识学习过程中,还能通过视频,书籍等一步步跟着练习;但过了这个手把手的阶段,进入实际项目的时候,会出现很多问题;你将碰到的最大问题在于不能确定问题,所以你连如何准确的提问都不会,从而导致你很难通过身边的人或者互联网得到帮助;例如当一个多线程的场景导致崩溃的时候,除非你能真正理解多线程的机制,从而通过日志或者代码阅读来定位到错误,否则很难准确的把这个问题描述出来;甚至很多时候,你都不能确定是什么导致了崩溃,感觉一切无从下手;
3 学习方法问题;
编程是一门实践科学;勤加练习是学好这么技能的重要因素; 这里所说的勤加练习是指真实的参与编程项目;而不是买一堆书,敲一些demo 程序;还有些学习者干脆一门门基础知识学习下来,计算机原理,数据库,算法,数据结构,面向对象。。。;过了几年后,发现对于编程还是一无所知;听起来有没有点像很多人的英语学习过程;基础知识的学习确实可以帮助软件开发者更好的理解程序设计,但前提条件是你的编程能力也要到相应的程度;也就是说,不同层次的开发者需要匹配不同的基础知识;如果使用英语做一个类比的话,你可以理解为语法对于语言学习肯定是很必要的,但并不是必须把所有的语法知识全部搞清楚后才能开始语言学习;正确的做法应该是在语言学习的过程中,碰到需要理解的语法知识,就去把它掌握掉,然后继续语言学习; 以“用”为目标,这样才能更好的掌握编程技能;
编程作为二十一世纪最有用的工具之一,如果有可能,大家最好都能去掌握;既然是工具,就要以“用”为主,以“用”促学,这样就不仅不会感到枯燥,还会很有成就感了;