编程五年(二)
这次写中学时期的编程学习历程。
考中学没有费什么事就轻松考上了。上了中学发现同班同学中有以前跟我一起学编程的刘晓亚。并在初中二年级的时候,家里给我买了我的第一台电脑。联想台式机。一万的价格(PII CPU+32M内存+3G硬盘……)。不过买回来以后我可没有用来编程。我只是用来玩游戏了,在玩的过程中也开始从感性角度了解了电脑,最开始我连硬盘和内存都分不清楚,慢慢的俨然一个电脑小高手。玩了一年,上了初三,迫于升学压力,妈妈又禁止我动电脑了。等顺利升入高中之后,电脑又重新归我了,高一赶上学校搞得“研究性学习”,我开始接触一些办公软件,作图软件等等,并尝试自学3DS Max,未果(你看机器配置就知道肯定未果了……)。高一的时候,还认识了一个计算机老师叫张鹏华。虽然他并没有教我们什么编程技巧,不过跟他在一起做研究性课题的时候,还是学到了很多电脑文化,在一定程度上打开了我的眼界并度过了很多快乐的时光(比如说他教我们MMX读做妈妈叉,PPT读做泡泡糖……)。我的上一个Space的名字SingSongForYou就是为了纪念他,而取自他原来的邮箱ID。听说他前几年去了北京,做了程序员,呵呵,祝他好运!
高二上学期的时候遇到了学校剩下的唯一的计算机老师付红燕老师。说句实话她的计算机水平并不如我,不过她依然是我的老师,我依然很尊重她。而且是她组织我们参加了NOI(全国大学生信息学奥林匹克竞赛),那时我跟刘晓亚参加了,我们也是在那个时候才开始真正熟悉了。高二上学期,我吸取上次NOI考试的教训,开始自学Pascal语言(因为语法优美、面向过程、运行速度快),接触了程序函数的相关概念,当时也疯写了一段时间的Pascal代码;并买了《离散数学》和《数据结构与算法》自学。那段日子很苦,除了高中的学习压力还要额外学东西。记得当时的体育课是自由活动,男生全部在外面玩篮球或者玩乒乓球,女生有一些也出去玩,玩什么我就不知道了,有一些女生在教室不愿出去。因为学算法的关系,我基本体育课也不出去,只有我一个男生坐在角落里面学习,她们则在教室里面疯玩、聊天。感觉很尴尬,真想冲出去,不过一直忍着,我需要学习。周末还要去上NOI比赛的备战班,一学就是一天。
到了年底,比赛终于开始了,4道题,之前只研究算法,居然不会读写文件,所以3、4题从文件中读数据的题目只好放弃了……{-_-#},前两题都做了。最后阅卷人运行程序的时候,第一题顺利通过,第二题前几个测试数据也通过了,最后一个运行后没有出来结果。我说“算了吧,可能是程序不行。”老师居然安慰我说:“没事,再等等……,你的算法是对的。”我说:“是我水平不行,算了吧,已经超时了。”所以最后老师终止了程序。因为我用的是递归而在规定时间没有出来结果,如果用非递归(人工实现堆栈调用)效率会快很多,就能算出结果了。很可惜,不过也没有办法,说明还是我的水平不到家。最终我拿了个省二等奖(省第12名),无缘晋级全国联赛。
比赛之后,因为以前的QBasic功底,学了点VB6编程,又通过付老师向学校借了本VB6的书开始自学,理解了诸如事件驱动的含义、控件等等。并做了一些小程序,现在还记得的是Click Me,猜数字等等,现在他们还躺在我的硬盘中。等到了下半学期,我的VB已经玩得很顺了(恩,是玩,还开发不了大程序),于是开发了一个计算器程序,并取了个很狂的名字“算遍天下”。一直做到0.4.4版左右。各种科学计算、进制转化、单位换算……,功能还是很强大的。当时很认真,把写完的程序打印出来,然后上课没事的时候拿出来研究研究,优化优化,反反复复写了N多个版本,并写了非常详细的注释。我现在的自认为比较良好的编程风格就是从那个时候开始的。随着“算遍天下”的完成,我也进入了高三,待遇与初三一样,一年不碰电脑……。于是我的编程之旅便再一次停滞了。
现在回头想想,如果我最初学的是C,可能我在高中的时候就能更早的接触C++了,会VC了。不会像现在一样还是VC入门阶段。当最开始教Basic的时候,就注定了我与Basic语言大系的不解之缘。高中的时候,因为计算机特长,在学校也算是小有名气了。更重要的是结识了很多志同道合的朋友,虽然他们中不是所有都在学编程,不过仍然能互相学习。张谦,永远比我快几拍,我总能从他身上学到好多东西,比如他高一用Baidu搜索mp3,我快高三才知道Baidu是个什么玩艺;刘晓亚,我们有相同的学习经历,总能在一起讨论有趣的问题,不过他比我聪明很多,现在在南京大学学软件,我们很久没有联系了,挺怀念跟他一起聊天的时光,不知道他近况如何。
高中时候,我在算法理论上有了些进步,但个人感觉不大。学VB的时候也没有抓住什么要领,过于钻于细节和满足于写出个小程序的成就感而迷失了方向,止步不前。不过在这个过程中,还是极大的锻炼了自己的自学能力和查资料的能力(高二的时候已经抱着MSDN猛看了……)。
细数编程的时间,只有一年而已。算算写的程序,Pascal的算法程序写过几十个,每个200行,约30*200=6000;计算器代码长度算过,是2000行,来回反复重写,所以总计约写了2000*2=4000行;其他的VB程序杂七杂八保存至今的写了也有2000行左右。共计约是12000行。(未完待续)


呵,你可真是努力不懈啊!
我高中接触过一点VB,现在才开始正规的学,一上来就要编程
当我凝视一个题目扯着头发却还是死活编不出来时,我终于明白了为什么那么多编程的都是地中海……
强就一个字 争气的孩子
To 林下之风 :
不能称为努力不懈,中间停滞过很多次。
“我终于明白了为什么那么多编程的都是地中海”
这句话什么意思呢?
To Answer__AI :
最近老不见你了,记得你,我,谦儿,飞机,乔实那会儿一起做研究性课题的时候多有趣啊~~
我就记得你帮我鼓捣我家打印机了。。。
人才阿 好好学习 将来出来才能好好混
现在发现:兴趣是第一老师。太有感触了~!!!
还有啊我家怎么就是破电视了!!能出图像的!!
你原来没少和骚骚在我家聚点折腾~哼
To 大厨 :
唉,这记性,什么都忘了,给你装系统的次数比你碰电脑的次数都多了…
那你的兴趣是啥了?一直也没有发现,以前一直觉得你应该做外交官,不过你现在居然混金融了……
折腾啥了,我就记得跟朱骚,还有韩剑就玩了玩你家厕所门口的飞镖盘来…
呵,地中海呢就是四周有一圈,中间光秃秃……谢顶……嗯,可以这么解释吧
你们仨都没干什么好事
To 林下之风 :
呵呵,我更喜欢称之为“地方包围中央”
To 奕 :
“你们仨都没干什么好事”
准确地说,应该是我们仨(其实应该再加个曹宙…) 加 你们伍个都没干什么好事……,呵呵
历史学多了,出来的都是术语啊,呵呵
p.s.我的专业是历史学,呵呵
To 林下之风 :
晕,你们学校历史学怎么还学VB阿?