最代码官方的gravatar头像
最代码官方 2016-04-06 21:52:24
大学四年编程学习的经历分享

大学四年编程学习的经历分享

转自:http://blog.csdn.net/qq_23377055/article/details/51051286

作者:千里孤狼

高考毕业填报志愿,自己一个人独自就决定了接下来大学四年要读的专业-----软件专业。

大一,在学院的教学安排下,以C++语言为起点,开始了编程。没有传说中的梦见神仙后的一路开挂,也没有一塌糊涂,只是很平淡,比白开水还淡。可能是那个黑框框实在激不起我的斗志吧,没什么玩的。当时想做个有界面的东西,想做个小游戏,发现C++真麻烦,一点也不适合。曾听高年级的学生和一些老师说,C++只是用来入门的,学院不打算教授很深的知识,这门语言差不多是编程语言的鼻祖了,上古时代的神话存在难过。这下好了,又找到了可以偷懒的理由了,就更加对自己放松了要求。这个门当时还不知道进没进去呢,老天爷可能知道吧偷笑

大二,开始学习如日中天的java。老师说java是面向对象的编程语言,面向对象是个什么鬼疑问。还在当初学习C++学习了点面向对象的皮毛知识,当时也是费了我九牛二虎之力才弄懂了一点点睡觉,可能还真不是这块料啊。管他这么多,来都来了,不认真一把,怎么知道不行呢?就开始了学习java的基本类型、IO、集合、线程、UI,学了一年这些东西都涉及到了,不过好像不是很懂啊。老师说java是开源的,开源又是个什么玩意,真心不懂啊。说实话,我是慢慢领悟接触琢磨,到了大三才搞懂了开源的真正意思。java开源就是我按住Ctrl键+鼠标左键点击Arrays类,就可以进去看看这些java大牛的黑盒子到底装的是什么玩意。这个时候还没接触java web,就用java玩玩有趣一点的UI程序,界面真丑啊。结合迪杰斯特拉的最短路径算法,写了个找出最短路径的小程序。这个时候,java真好用啊,API真丰富,想要的基础功能基本都有,比如排序、集合等,用起来还是很爽的。之前老是听说某某在大学写了几万行代码很牛,嘿嘿,看我用java吊打你尴尬。这个时候开始建立起了软件工程的意识,编码需要严谨,程序设计要合理,组织不会混乱。游玩于各大编程网站论坛,也不知道有没有用,反正就是看,先塞到大脑再说。慢慢发现,尼玛的,java原来是做web程序的,那之前搞的界面程序不是浪费精力么?    既然是工程,学院就开始教授软件工程领域的工程流程:需求分析、系统设计、编码实现、软件测试,还有操作系统、计算机网络、计算机组成原理、算法和数据结构。课程挺多的,每天基本都满课。说实话,我也没怎么认真学,学了个大概,断断续续的。出来混,总是要还的。

大三,java web来了。这下总算激起了我的兴趣了,开始认真学了。先从jsp、servlet入手,html、java杂乱其中,真心乱,不忍写啊。spring、struts、hibernate来了,好了,不用太费劲,就可以搭起一个小网站了。有自信了,就开始认真去研究以前java不太懂的地方,追本溯源,更喜欢去看源码深层次解读其内在原理,这个感觉爽啊,犹如在黑屋子待久了终于看见了阳光。万事开头难,源码也挺不容易看懂。义无反顾,一步步看下去,总会有开悟的时候。java web的知识点太多了,我只能先好好用了,原理性的东西只能等后头慢慢研究了。框架就是节省时间的,屏蔽了底层细节,又是一个需要我去研究的盒子。

大四,没课。该出去了,到企业经历真实的java商业开发。人家不用ssh,而是ssm。好了,自学吧。有些公司说hibernate不好,太死了,mybatis很灵活好用,管理方便。struts太老了,很久都更新的,还不如用springmvc好,与spring天然集成无冲突。maven来了,发觉以前下载jar的包到工程很low有木有,给个maven依赖描述,人家自己给你下载好了导入了classpath。回不去了,爱上ssm+maven+git的项目架构,开发很方便。在工作中慢慢发觉自己的不足,原理性、底层的知识掌握欠缺,解决问题不能深入底层内部。于是开始了学习,谁说大学读完了就不用学的哭。java和很多Java框架都是开源的,给刨根问底提供了可能。遇到问题多看看控制台、日志的打印记录,英语要学好,各种编程术语要掌握。疑惑之处多看源码,大牛为什么这么解决呢。java是在jvm之上才能运行的,jvm不可不了解。java程序编译为字节码后,jvm是怎么解释执行的?做了哪些优化?内存是如何分配的?把《深入理解java虚拟机》看了一遍,大呼过瘾,真爽啊,好像现在又快忘了,看来又要看一遍。一直都是在用mysql数据库,可是居然不知道怎么做简单的sql调优尴尬。看了下《高性能MySQL》,学习了一些sql优化技巧、创建数据库的小窍门,就酱紫了,日后还是需要深入学习啊。  真诚推荐一款java IDE的Intellij IDEA,java编程的利器,用了它你就不会想用eclipse、myeclipse了。它有很多优秀的插件,把第三方工具集成在里面了,比如maven、git,纯黑背景对程序员的眼睛很好。

工作时,遇到很多不懂问题、技术,会很认真、高效去解决问题和学习新技术知识,而平时在学校没有压力,时间宽裕,反倒学习效率低,在学校需要一个月才能掌握的知识换作在工作时一个星期就足够了。我还是一个比较喜欢在高度压力下工作的人,促使自己必须尽快高效去解决面对的问题和学习未知的知识,这种感觉很爽啊。大学学了不少东西,前段时期迷茫不知目标,后期认识清醒找准方向。个人比较喜欢新鲜事物,在做项目喜欢采用新技术、新框架,追求开发效率的提高、项目满满逼格的自豪。追逐太多了封装底层的框架,忘记了去探寻其实现的原理性东西。所以现在在慢慢冷静下来,耐心研究底层基础原理。编码注意质量控制、细节把控,力求写出高质量的代码。早点明白就好了,BAT拒之于门外,怪我喽敲打

编码是一门艺术,不仅仅是糊口养家的工作,是需要匠心的。


打赏
最近浏览
水光浮藻  LV6 2021年4月26日
我们有一颗向往的心  LV2 2019年2月21日
sowang  LV9 2018年1月25日
piaopiao9393  LV2 2017年12月28日
YYJplus  LV11 2017年10月13日
daijingming66  LV1 2017年5月22日
桌子与灯  LV6 2017年1月3日
utadarei  LV8 2016年12月20日
NopeHzau1  LV1 2016年12月7日
tiger2011  LV5 2016年11月27日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友