2011年,醒悟的一年

一.序,醒悟前的时光

     我是一名大二的计算机专业的学生,刚满19岁,学习计算机刚好11个月(从真正喜欢计算机开始算的),但正是这短短的11个月彻底的改变了我,我也真正找到了值得我用一生去追逐的梦想:计算机。

     看到很多参赛的都是毕业几年或者接触计算机很早的前辈们,我也犹豫是否要写出文章参赛。我出生在一个不太繁华的小镇,大学之前没接触过编程。但是我还是决定,把我的这一年,记录下来。

     我是一个典型的理工科学生,文笔不太好,但我真的很想表达我此时的想法。记得我第一次接触电脑是小学:某一天在同学家玩了一次CS后,我便喜欢上了计算机,准确的说,应该是喜欢上了电脑游戏。初中到高中,我持续玩各种网游,但由于我自制力比较强,游戏时间都是假期,所以我成绩还算可以,但是对这样的学习,甚至对高考,我没有一个明确的目标,我不知道自己的兴趣到底在哪里。高考发挥一般,超重本线20分左右。填志愿时,我根本没有方向,恍惚中选了计算机以及其他的一些学科,就这样,进了大学。

     大一上期,依旧如此,甚至在上第一门程序设计课程之前,我不知道什么是编程。这学期有一门课,叫VB,我第一次接触了程序。但这“与代码的第一次亲密接触”并没有让我喜欢上编程,可能是当时还没成年吧(开个玩笑!)。前几天一位教算法的老师说:VB只是一门体验的课程,让你明白究竟什么是program。现在回忆起来,果真如此。大一上期就这么过去,让我万万没有想到是,这个寒假成为了我人生中的一次重大的转折。

二.梦中惊醒,我应该怎么活着?

     由于怕寒假太无聊,也因为大一下期要学C语言,所以我找学长借了一本C的教材,自己买了一本《C语言入门经典》。大概是1月12号左右,放假到家。第二天早上起来,父母都去上班,闲来无事,就拿出了那两本C语言的书。第一章,第一页,是那当时陌生现在万分熟悉的Hello,World! 拿出电脑,写完printf,运行,忽的一下,一个黑框出现后立即消失。我觉得非常奇怪,自己是完全按照书上的程序来的,怎么会出现如此“诡异”的现象?假装看了下代码,实际上也看不懂,无奈之下,想到了百度。想来都好笑,当时查百度是这么查的:C语言运行时弹出一个窗口又马上消失是怎么回事呢?  结果肯定是没有查到。我暗自懊恼,也许是我有点小聪明,把关键字中减少了“是怎么回事呢?”。结果还是没有。我气愤了,把查询的句子又删了一些字,最后只剩下“C 马上消失”。 哈哈,终于找到了。加个getch()就可以了。但一编译,还是错!又折腾了一会,才明白是要加上个<conio.h>头文件。不知道为什么,就是因为这一次状况,我竟然又把书从Hello,World!翻到了下一页。

     以前的学习,都是老师讲课,学生听,我几乎没有自学过。这一次,在寒冷的冬天,我一个人坐在桌前,进行着一次对我极其重要的自学。我第一次感受到发自内心的浓浓的兴趣。局部变量,全局变量的作用域,静态变量,全局变量链接性的不同,多了一个static竟然会带来如此巨大的差别。最令我惊奇的是逗号表达式,原来以前眼中毫不起眼的“小豆豆”竟会是一个运算符。有生以来,我第一次对一件事产生如此大的兴趣。

     我开始疯狂地学习C语言。有不懂的地方,马上到百度知道上提问,那时候还不知道CSDN的存在。我只是记得,一个寒假过后,我提的问题被解决的总数居然达到了120多个,我的笔记本上还记录着一些大大小小没有解决的问题。书上的习题也基本被我“扫过”,还是那个方法,不会就问。也因为一些比较难的地方被卡住,比如指针,二维数组和指针的区别。高中时我看书的时间从来没有超过11点,但是在这个寒假中我起码有20天以上忘记时间,写代码到凌晨2点。我妈说我这是三分钟热度,过不了多久就会退却,但我明白,我已经找到了自己的目标。

     这一个寒假,这一个月左右的时间,除了吃饭睡觉,我几乎是一直在写代码。从最开始敲10行代码会出现7,8个错误,到能够比较快的写出一个统计单词个数的小程序,尽管当时的程序在现在看来非常低效而且臃肿。我真正的感觉到了快乐,从代码中感觉到了快乐,从这些最简单的算法中感觉到了快乐。记得当时书上有一个记字母的小程序,我照着写了出来,玩了一下,最多能记住11个字母,嘿嘿,Wonderful!

     寒假过的很快,在这之前真的难以想象,我居然在一个月的时间内自学了一本几百页的专业书。我终于明白胆量的重要性了,没有尝试之前,谁知道这本书有多厚呢?

     大学以前,学习都是被动地接受知识,从来没有想过去主动学习一些东西。但是这个寒假,我觉得可以说我醒悟了。我的心中不再茫然,有了兴趣,有了方向,我知道我今后该如何活着。

三.第一个C语言系统

     3月左右,我做了自己的第一个C语言系统,一个简单的信息管理系统。这也是我至今为止写的唯一一个系统,稍后我会解释原因。具体说来这个系统非常简单,只是用双向链表构成,加上一些结构体,一些文件操作。我是模仿一本书上的管理系统写的,不过原书的代码模块化做的很差,每个函数都很长。当时我只是从书中看到函数应该尽可能的短,功能尽量单一,所以我就知其然不知其所以然地去做了。从原始的8个函数,被我改到整整25个函数,还记得了为了不用goto,我思考了2个多小时才成功的把goto的部分改成了一个函数。也记得因为指针的错用而被莫名其妙的错误弄得头晕脑胀。虽然有很多错误,很多困难,但最后也都一一解决。由于刚开学,没什么课,历时3天,总共1200行代码,我的第一个系统诞生了。

四.第一次程序设计比赛

     越往后面写,我的心情反而越发的平静了。我不只热爱计算机,我也感谢计算机。通过学习编程,我变得更加自信,同时,也渐渐学会谦虚,学会内敛。编程之道与生活有很多相同的地方,思考一个复杂问题的算法就像建一所大房子,从整体框架的确定,到细节代码的编写,都与建筑非常类似。经营生活同样如此,架构就相当于人生目标的确定,编写具体的代码就像是追梦中努力的过程。学习编程,我变得更加爱思考。

    在我写了第一个C语言系统之后,学校组织了全国软件大赛的校内选拔赛。我报着试一试的态度去参加,恰好考的是C语言。此时离我开始学C语言,正好2个月。过了几天,结果出来,我居然通过了选拔。我依然记得当时我是多么的激动,现在想想,这次比赛对我也非常的重要。可能有的人眼中只有ACM,觉得其他的程序设计比赛都没什么意义。但我觉得,这次比赛向我打开了一扇门,我又一次坚定了我的方向。

    从网上了解到数据结构的重要性,我开始自学数据结构。之前写管理系统的时候用过链表,所以学习来轻松一些。但是自学的时光是十分困难的,常常为了一个函数的细节而上网到处询问,也经常因为一个指针的错误折腾半天。但同时,这个过程也是非常快乐的,我喜欢编程,喜欢用代码去描述我的想法,解决一些问题。

五.热情不减地继续学习

    5月份,心血来潮学了java,由于之前代码写的不少,学习java比较快,一共用了5天时间,还借助视频自己写了个简易的坦克大战,大概400行代码。但是,我却没有任何成就感,也没觉得任何喜悦。这400行代码,大部分都是编写类,实现方法,继承父类等。我没有看到我能够运用数据结构的地方,我清晰的记得,当我完成一颗递归构造二叉树的算法时,内心是多么高兴,但是这400行代码却没能给我丝毫这样的感觉。当时我不明所以,只是放弃了学习java,继续学习数据结构,继续我的快乐。

    现在,我完全明白了原因。我在之后又买了一本《C和指针》和一本《深入理解计算机系统》,并且深深地痴迷了。我喜欢的是计算机的基础知识,而不是为了得到实现一些简单功能而得到的所谓成就感,我也开始明白,刚开始学习计算机的大一学生,绝对不应该去追逐所谓先进的技术而忽略基础知识的学习。《C和指针》我看了一大半,有很多地方让我豁然开朗,作者往往能够在我迷惑的地方给予恰当的指导。《深入理解计算机系统》更是大部分没有看懂,但是每多看一页,我似乎就越喜爱这本书,对计算机的体会也更深刻。现在,我正在重新看这本书,对这本书更加推崇和喜爱,也更痴迷于计算机的原理。

    当我在网上提问,并告知别人我十分喜欢编码,喜欢计算机时,大部分人都认为我只是一时的兴趣。我发现大部分人都用枯燥来形容计算机的学习,而大部分人都表示不喜欢他们正在从事的计算机行业。但我明白,我是真正的热爱我的专业。从1月份到现在,也就是12月,每天除了吃饭睡觉以及必要的锻炼,我都是在看书或者编程,但我对计算机的热情不减反增。学的越多,我的求知欲望越强,也越想去弄懂。我也很坚定,我会持续这份热情,这份对计算机的钟爱,大步向前。

六.总结

    前面说到,我的C语言管理系统是我至今做的唯一一个系统,看到这里,相信大家已经知道原因了。我写的程序,基本上每个都不超过200行,除了算法的实现,就是数据结构,操作系统等基础书上的习题。但我庆幸,我现在所做的是我最喜欢的事。我不知道我以后能做什么,但我现在就确确实实对这些计算机的基础非常感兴趣。现在几乎是每天都会拿出一段时间在CSDN上浏览网页,最令我印象深刻的就是国外操作系统的丰富(我不知道用“丰富”是否恰当)与国内操作系统的几乎空白。看到有一些前辈批评着国内软件开发只是简单的体力劳动,我没有经历过,所以没有权利评论,但我看到的现象是CSDN上数据结构板块十分冷清,而各种开发语言的板块却十分热闹。我想,这多少说明了一些问题。

    国内的开源与国外相比,也是差距甚远。但是我明白开源对于一个软件行业人员的重要性。中国的开源如此之少,原因是多种多样的,我了解到的情况是很多程序员都是做着复制,粘贴,替换,略加修改的工作。代码需要重用,但不是一味的照抄。我不知道我能否改变这种现象,改变中国软件业的浮躁。也许有人会笑我天真,也许有人会笑我虚伪,“学软件不就是为了高薪吗?”但是,我会斩钉截铁的回答:我把计算机当成我的生命。我是真正把计算机当成我的事业,我想为中国软件业做点什么,哪怕只有那么一星半点。

    我会为了我的梦想努力,现在,我正在为我的兴趣,我的梦想做着积累。我的兴趣在于计算机基础和原理性的知识,我希望做出的软件也是紧密结合这方面的。我喜欢锤炼我的代码,我觉得代码就是一种艺术,以最小的代价换取最高的性能,真的是奇妙无比。还有数学,从小我就比较喜欢数学,只是一直都不知道数学能做什么,现在才发现发现数学和计算机之间的联系,更加觉得有动力。

    2011年,是我彻底醒悟,彻底蜕变的一年。从毫无方向到目标明确,从浮躁到冷静,这一年我会永远铭记。我不知道我的梦想能否实现,但至少,我还年轻,谁也不知道未来会发生什么,但我相信自己。我非常喜欢山野的一首歌,叫《有梦就不认输》,即使现实再残酷,有梦,就不后退!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值