有很多小伙伴和我说,现在入行程序员的门槛越来越高了,需要学习的技术点越来越多,新技术层出不穷,都学不过来,这样的想法会让很多人放弃学编程的想法。的确,10年前培训机构,平均开设三个月的课程,而现在参加培训下来,基本都需要半年,更是有的机构把培训的时间拉长到九个月,甚至一年的时间。 所以有的小伙伴就觉得生不逢时呀,要是早生几年是不是会轻松的多呀?那如果我告诉你,现在入行比前更容易了?你信不? 我给你分析一下, 看看有没有道理。
现在的孩子都是在屏幕面前长大的, 基本上都有自己的个人电脑,有熟练的电脑操作基础和软件应用基础,电脑和网络的工作原理多多少少了解一些,这和以前的程序员入行先从打字练习开始,起跑线就不一样。另外,现在的学习资源越来越多,视频教程和技术社区,也比较成熟,不像以前只能找到几本相关的参考图书。
再有,虽然编程语言都在不断的升级,像Java每半年迭代一个版本,但版本迭代并不是一味的增加技术点,例如,会打一些安全补丁,也会废除一些过时的技术。不管编程语言如何升级,基本的语言结构和基本语法,每次变化不大,只会增加一些新语法,并优化语言底层的运行效率,语言应用层变化不大,当然,学习成本也就和以前一样。如果变化太大,基本语法哪怕有一点点的改动,都会影响软件的编程思想和老项目的兼容性。所以编程语言的升级,都是在功能扩展库上面,这就意味着,同样实现一个功能, 有新的效率高,操作更简便的功能扩展库和框架出现,你就可以不用再学习旧版本扩展库了。所以,学习的内容没有增加,反而更容易了。
还有,现在好多底层的算法都给封装好了,在应用层直接调用即可,一些业务流程的设计模式也越来越成熟,相同的业务,基本上都可以找到可用的组件,不用多想直接套用即可,现在的编程可能有点像搭积木,能把精力入在业务流程上。一些问题的解决方案也越来越简便,例如,以前写前端,还要和最可恶的IE6打交道,大部分时间都花在兼容性的解决方案上了,而现在的浏览器则越来越规范了。
其实,新手学习编程,要有高人指点,能掌握一门语言30%的技术,就可以写出90%的功能,要是不对所学技术进行筛选,可能花大量时间去学习的一些技术,这辈子也不会有机会用到。别多想了,快来加入程序员的圈子吧,虽然你在编程方面现在是一张白纸,但白纸上才能画出最美的画。