不知不觉中,自己已经在技术的这条道路上走了三年了,和一些技术前辈相比,自己绝对是一只菜鸟,自持自己还学过点东西,所以在此和大家分享一下自己学习程序的艰难之路。
我是一名大三的学生,开学大四,大学前是一个电脑白痴,高考滑档了来学习计算机,可能是命运的安排,让我接触了程序,从此沉迷于此。大一时一个偶然的机会,进了学校老师的一个实验室,开始学习网页制作,接着学习了jsp。对电脑基本的思想、操作都不熟悉,更别谈程序了,接下来的一年可想而知,几乎每天凌晨一两点钟睡觉,早上七点钟起床去上早自习,由于自己没有掌握好方法,所以这一年的收获是很小的。我只专注与老师的一套框架来啃,没有真正去了解java语言的根本的特性和面向对象的思想,后来我放弃了老师的框架,开始真正的学习Java,从入门开始学起,渐渐发现了什么才叫真正的程序,才发现只有把基础打牢了,以后的程序之路才好走、以前学习的网页制作太小儿科了,紧接着学习了JavaEE中的Servlet,又重新学习了jsp、html,但由于对页面布局一直不感兴趣和对js认识尚浅,所以一直都是只搞后台jsp、servlet,在这个过程中自己也渐渐分清了什么叫做B/S、C/S架构,后来又补充了ajax、sql语句和数据库设计等,并自己做了一个小的管理系统来参加了学校的一个数据库编程大赛,至此,自己的大二也接近尾声,自己对程序也有了一点简单的思路,对一个B/S架构的项目也有了清楚的编写流程。
很庆幸自己在每个阶段都会遇到一位贵人,这次也不例外。在大二的暑假,自己开始学习SSH,这个过程是漫长、困惑但是不痛苦,凭着对B/S架构的认识,像学jsp、servlet时一样,自己死钻技术,看代码,不停地找错误,但是对于SSH中的原理和模式自己几乎一点也不清楚,此时这位贵人出现了,他让我首先看的是设计模式,是用java来讲解的,此时我才发现自己对java的了解是那么的浅,自己写的程序是那么的少,接着我又去学习了Java的编程,看了马士兵老师讲的java,特别喜欢他的授课风格,这个视屏我看了三遍,首先我对面向对象程序的整个执行过程的内存分配有了比以前更清楚的认识,逐渐发现,搞懂了内存,写程序就不会晕,对自己随后程序的编写有了很大的帮助,后来又看了多线程,对服务器的了解也加深了很多。然后才真正去看了设计模式,才发现什么叫真正的高人写代码,接着开始搞SSH ,对div+css的页面布局、js等也做了相应的补充。就这样,大三的上学期快结束了。
不知不觉中自己的大学生活到了大三下学期,各种事情压着自己,同时自己的技术也遇到了瓶颈,需要项目来练手,自己空想一个项目也可以来练手,但是一直没有去搞。快要到暑假实习了,就去了找实习的腾讯、百度去寻找暑期实习的机会,自己感觉自己学的还可以,但不想却处处碰壁,最终的原因归功于算法,搞java这一块的人都应该熟悉,写了很多面向对象的代码,但是算法用的很少,所以对于大多数刚开始搞JavaEE的人来说,算法都不怎么好,于是就回来搞算法,但是大家都知道算法不是一朝一日就能提高,只能慢慢积累了。
最近简单总结了一下自己在这三年中的程序编写过程中的经验和教训
1:打好基础,在没有接触程序的时候,多写案例代码,然后去思考、修改
2:在写程序的时候,尽量去想这个程序在计算机的整个执行过程,尤其是内存
3:现在是面向对象的时代,掌握一门面向对象的语言编程技术
4:设计模式是程序思想的总结,尽量多看
5:数据结构、算法是我们真正写好程序的基础,这个必须要达到很熟的地步
6:操作系统、计算机网路是我们以后向架构方向升级的铺垫,如果想搞好架构,这两个东西是必须的
7:面向对象程序设计、数据库设计是我们以后设计整个项目的前提,最好搞定它