学不好java,只怪你不知道自己错在哪

来源:互联网 发布:品茗软件是什么意思 编辑:程序博客网 时间:2024/04/29 12:00

以前我一直想说学习java非常简单,真的非常简单,后来博客都被我删了。这里我还是强调一下,学习java真的还是很简单的。

很多人说学习编程很难,真不是一般人能学的,很多人说做软件开发的都非常聪明,一般人是学不好的。很多人说看着屏幕上密密麻麻的代码,完全看不懂啊,所以编程真的好难,就这样那样的放弃了。对于这些人,真没有什么可以解释的了。连学都没去学就已经被吓跑了,做什么都不会成功的。

有些人大学学了几年的编程,结果什么也不会,也非常努力,写个类似计算器可能还写的出来,虽然代码看起来不知所云,bug满天飞,最后得出来的结论是我不适合编程。这里我还是想简单的说几句,有些事不是你努力就能成功的,但是这并不是天赋的问题, 做到大牛级别或许需要天赋,本人不是大牛不做评价,但是做一个高级工程师真的不需要那么多的天赋,不需要超高的记忆力,不需要起早贪黑的那么努力,只需要简简单单的一步一步的往前走就好了,其他就是水到渠成的事,有人说自己努力了,可是还是做的比别人差好多,这个真不全是努力的事,你非常努力但是没有往前走,你往左往右都是没有用的,注定了不会进步的,有些事要用正确的方法去做,才会事倍功半的,不过作为一个软件工程师有一点好处就是,只要你坚持就会有进步,只是进步的多或者少的区别,不至于后退。

这里我想说一个很重要的话题就是如何用正确的方式去学习,如何用正确的方式去学习,这里我要强调第一个最重要的东西“基础”。基础绝对是学习编程里面最重要的一部分了,其实后面很多东西都是基础的简单拼接而成的,基础过关了,后面的东西就非常好理解了,基础在怎么强调也不为过,基础固然重要,但是千万不要纠结,要适当的放权,学完了就要进行是实战和进阶,不要问我为什么基础那么重要,还不去纠结还要赶紧去学更多东西,就好比你小学毕业不学中学的东西,一直纠结在小学水平的时候,对你小学的帮着并不大,只有把之前学的东西用到新东西上才能更好的理解过去学到的知识,不只是简单的会用,而是变成了从内心的理解,在之后的学习中,会遇到很多基础的东西,一定要一点点的完善,理解,比如集合框架,比如多线程,比如反射机制,比如io流。这些都可以前期了解是些什么东西,然后通过实战学会使用,通过进阶再来理解,有时间可以对某一个不确定知识点,好好研究,其实我学java的时候就非常纠结这些东西基础的东西,比如集合框架看了一遍又一遍,可是等到慢慢项目中使用多了,对他们真的有一种无感的感觉,如果只是一直研究那些概念,理论真的研究不了什么,只有经过实战去检验才能对一个理论有一个真的理解。

这里就是我要强调的第二个问题,实战,实战其实很简单,比如学习集合框架的时候,把几个实体类对象放进去,移除,打印对象名称,和数量,看看自己的操作和预期有没有不同。就好了。也可以结合实际项目,简单的项目。如写个五子棋,计算器都是对java基础的理解。其实大项目和小项目最大的区别就是,规模,很多地方是没有难度的区别的,所以很多时候这些就是程序员经常被叫做码农的原因,简单的代码堆砌学过点编程的人都能做出来,所以竞争才会激烈,其实这些不是我们想要的,就行1+1的问题,每个人都写无数遍,而工作时候很多代码就跟1+1一样真的没有任何技术含量,比如写个新闻客户端,技术都是现成的拿来就用,网络获取有Volley滑动有SlideMenu,菜单也有,用起来真的是任何人都会用的代码。就跟调用集合类使用也是没有任何区别的,所以说编程非常简单,只要简单学会基础后面的就是练习加实践了,实践会让技术更加熟练,熟练之后就能更好的架构项目,更快的编写代码,更好的完成工作,这个熟练过程其实非常快,只要每天坚持编程,就会进步,工作中真的是每天都接触,所以这就是为什么程序员工资涨的飞快的原因,基本每年都在涨。可是这又会遇到下一个问题,就是一般情况下程序员2年到5年内都会进入瓶颈期,就是因为编写代码熟练程度带来的益处对自己没有用,为什么这么说呢,就算你非常熟练了,也比不上两个人的能力,而一般3年到4年的程序员的工资却别2个新手高太多了,而且进步也不会太明显了,这时候就要考虑很多别的问题了,有很多人就在这个时候转换自己的岗位,当上了项目经理,或者产品经理,慢慢发展到管理岗位,慢慢就不编程了。这个就是为什么很多人说程序员是吃青春饭的,为什么程序员在中国干不到30岁。那么接下来就要思考如何破了。

这里就要强调我第三个观点了。这个是非常重要的,就是思考,程序员是一个重脑力劳动的行业。你思考的越深入,越正确,会给你带来的进步是无法用价值衡量的。虽然开发一个软件或者一个应用不难,但是开发好了确实非常不一样的,其实这些东西最后都要由我们去完成,比如一个新闻客户端,如果你做的效果跟网易一样好,那已经很不错了,可是你百度一下下载看看就知道网速的demo是多么烂了,这个地方就是要考虑的最大问题了,思考首先要明确自己想做到什么样子,然后考虑怎么能做到,不管是学习,还是工作这个都非常重要,当产品经理告诉你有一个非常好的效果你告诉他做不出来的时候,你的项目就达不到一个好的结果,可是如果你百度 一下找到效果改改这个项目可能也能做出来的。但是思考真不是这样简单,这里只是简单的介绍一下,在做一个项目,或者写一个算法的时候,或者在研究一个开源项目,很多地方会不理解人家为什么那么做,或者不知道自己怎么做,这个时候,很多人会选择直接拿现成的用,永远不会考虑人家是怎么写的,人家为什么那么写,这就是新手和大牛的一个本质区别,你学到了皮毛,人家学到的是本质,从这个方向考虑,而这个确实程序员立足的根本,要用正确的心态去思考。走正确的道路,一切就没有那么艰难。不要跟我说没有时间,天天加班,很多时候把问题思考好了,会让你的效率提高何止百倍,有些事只有真的去做才能有真切的体会。做开发一定要学会正确的思考。


这里总结一下我的观点,只是简单列举了几个还有很多以后会再慢慢整理

今天的观点有三个

第一重视基础

第二注重实战(动手开始写代码)

第三勤于思考

这三个做到了,成为大牛真的只是时间问题,记得别走错方向就对了,不要在开发的时候思考猪是怎么撞树上的,虽然思考了,但是我真不是这个意思

1 0
原创粉丝点击