我为什么学习编程?

 大一的时候学校开C语言,学的很不错,也很感兴趣。后来自学过一段时间,却总是不入其门。那时拿起一本清华出的《数据结构(C语言版)》感觉简直就是在遭罪,根本没让我感受到任何算法的魅力。断断续续地看《C圣经》一段时间后便将编程放置在一旁,不再学了。现在想起来,确实挺可惜的。那时怎么能连最基本的Google都没学会用,不然总可以在Google上找到学习编程的方法的,真是白玩电脑游戏这么多年!以致浪费了整整一年多的宝贵时间。

那一年里我看了很多课外书,有经济学的,历史的,文学的,也有百科全书类的,虽然也学了很多其他的东西,但遗憾的是,还是未能找到那个令我感到痴迷的事物。时间一下就到大二下学期的最后两个月,一阵阵紧迫感便不断袭来,我不断的问自己,你比起其他人有什么核心竞争力?为什么等到毕业别人要让你进他们公司?我冥思苦想,确实找不出多少能说服自己的理由。于是,我便不断寻找我喜欢的方向。我找到了人工智能,这真是一个令人着迷的科学,但是很快我就发现我的基础太差,我需要先深入学习一门语言(那时候还不知道人工智能要学的是算法和其他的东西)。适逢宿舍里有同学在学习Java,到网上一搜之后,发现有很多学习Java的视频。我就想,当初C语言没学深入主要的原因还是自己根本不知道有什么可学的,也不知道该学些什么东西,而现在却有老师一路带你学习,能给你提供学习的途径。

于是,我便毅然决定一定要好好学好Java。然后再学习我的人工智能。

跟我预期的一样,我很快就进入了状态,由于有良好的C语言的基础,我很快就学完了J2SE的知识。然后就开始了我的J2EE之旅。根据网上马士兵老师和王勇老师的视频,一路过关斩将学完了Servlet, JSP,跟着老师做了几个小项目,又自己重头到尾以自己的力量再做了一遍。又去图书馆借了《javascript dom编程艺术》《javascript高级编程》等经典的书,一一读完,也算学了点皮毛。但是学完这些东西却令我不能心安,因为我只会用,却不懂为什么这样做,让我感觉自己没有把握到真正的本质,所学的都只是一些潮流的技术一样。我就问自己Java还能做什么?难道就只能做网站吗?这样难道就是真正的程序员?

最终我去Google了我的疑问,却仍然没得到什么结果,因为大多数都是拿来做J2EE的,或者少数是拿来做J2ME。但是这些都不是我想要的答案。于是我便放下J2EE,去图书馆借了一本《Java核心技术》想要从中找到一些其他方面的应用,但是可惜,里面并没有这方面的内容,只是讲解了Java的方方面面,通过这本书我学习了一些Swing的皮毛,学会了做简单的桌面程序。这时已经是大三开学了。我加入了一个J2EE的QQ群,听着那些已经工作的人谈论他们的工作,听到的却都只是三大框架或者业务逻辑,后来才发现原来他们以后都只为了进公司而学Java,编程只是他们的跳板而已,真正想干的是管理而不是干技术。但是我热爱技术,我希望以后以此为生,至少我现在认为我是乐在其中的。

那时正举办ITAT大赛,我闲着无聊也加入其中,好好学了一段时间的SCJP,以此作为ITAT考试的复习,感觉大有收获,巩固了自己的Java的基础知识(也为以后的面试做准备微笑)。

这种苦恼确实折磨了我几天抓狂,直到有一天豁然开朗:作为一个程序员,最要紧的就是锻炼自己的思维。而编写软件,其实就是一个锻炼我们将具体事物抽象并对其建模思维的过程。而对算法、面向对象和设计模式这三者的学习,能够极大地提高我们的思维能力。学习这些本质的东西不仅仅有益软件开发,更是足以改变人的一生,因为她改变人的思维方式。

幸运的是,在学习J2EE的过程中,通过尚学堂的描述(只要你学的是JAVA,这本书就应该从头到尾的啃一遍,而且是细细的啃),我买了一本《Java数据结构和算法》影印的第二版。。这是我第一次看英文技术书籍,但是我却很兴奋,我的许多课余时间就花在学习这本书上,不过也确实不是那么好啃的,经过一个多月,才终于学完(可怜了我的专业课成绩单,但是现在要是让我重新选择,我一定花更多的时间去学习Java!就像现在一样!因为本身学习编程就已经比别人晚了很多年,再不加油怎么可以?),这本书写的确实非常棒,完全没有像清华大学那本书那样给我的巨大“威压”,也彻底帮我摆脱了对算法的恐惧。

现在的打算是,学习算法(每天至少两个小时)和设计模式。同时深入学习Java。

作为一个苦修士,我相信我的能走向自己希望的未来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值