刘炯(Sharpmark)的博客

v4.0 一个不怎么更新,又舍不得关掉的博客

编程五年(一)

说明:最近学校网络一直很烂,上不了Space,所以托小郭同学代为更新。内容是我写的,不过没法编辑格式,等我能登陆了再行修改。另外,本文有一些编程的专业词汇,看不懂没太大关系,能看懂大概思路就好。
那天学习太累了,便计算起自己编程已经有多少年,写过多少行代码了。虽然我是从小学就开始学习编程,但中间还是荒废了很多的时间。以实际学习编程的时间来算,已经5年了;估算写过的程序和项目,已经写了五万行了。按照中国的传统,逢五一小庆,逢十一大庆。所以写此文以做“小庆”。
第一次接触计算机是在1994年(我小学三年级下学期),太原少年宫的计算机班,讲的是BASIC,可惜我去的时候课程已经开了大半,听了几节,不过什么也听不懂,一个月后,老师选拔能听懂的继续教课——内容是五笔打字(居然要先会编程然后才能学五笔……)。我就顺利被淘汰了。
1995年下半年,在我小学四年级暑假的时候妈妈给我报了学校的计算机班开始学习计算机,记得面试的时候老师问:“你会英文字母么?”(现在想想真幼稚……),刚好我前段时间妈妈教过我,我就一个一个背出来,然后就顺利地进入了计算机班。
班上一个人一台286/386那样的电脑(用5寸盘软启动那种,我现在家里面还有几张如古董般的五寸盘。)先讲了一个月的五笔字型,当时就不怎么熟练,后来因为家里面一直没有电脑,所以五笔字型也就淡忘了,到现在我都是在用拼音打字。一个月后,学校的计算机班开始讲编程。恩,还是QBasic,我还记得我学的第一条语句是LET X = 1意思是将1赋值给x变量。从此我就踏上了一条编程的不归路,直到现在。
记得课程先由学校内部的杨老师讲了一个月,后来换了外面请来的史老师讲。杨老师和史老师都是大约二十多岁的年轻女老师。杨老师的样子已经记不得了,史老师的模样还能依稀记得,长得很清秀。课程又讲了几节课,内容很慢,很简单,现在看也就只是顺序结构的程序和输出指令,每次我都很轻易的做对。有一天史老师看了我的程序,然后对我说:“恩,除了有点小毛病,程序整体思路写得不错,你是不是觉得这里讲得很慢?”我说:“恩,是讲得挺慢的。”史老师说:“那你下周直接来我家上课吧。”
于是我开始每个周末(这时,小学五年级已经开学了)在太原市四中里面史老师家的小班上课。这个班小到只有5~6个人。大家在史老师不大的小屋子里面上课,没有电脑,每个人一个小本,一只笔。去的时候发现这个小班早就存在,都是史老师在各个学校教编程时找到的比较聪明的孩子,而且史老师已经把循环讲完了。于是我得边跟着学,自个还得补漏的。好在是小班,有什么问题都能很快得到详尽的、针对性强的解答,老师会手把手教会每一个细节。一个月后我就成了小班写程序最快、正确性最高的学生了。史老师组织我们买了5本装的《信息学(计算机)奥林匹克》,那是我的第一套正规读物,保存至今,现在我寝室的书架子上还放着第五本《高级本》。我们开始学习上面的内容。后来史老师结婚搬家,我们几个就去她的新家学习,小班人因为跟不上或者个人原因越来越少最后只剩下3个人。
再后来到了五年级下半学期可能是因为史老师觉得学费有些太少了(一人一个月交50元),所以又开设了一个比较大的班,大约20多人,周末的时候在一所中学的教室上课。我依然是班上数一数二的老师得意门生,有几次老师收学费的时候,我递给她钱,她走到我身边,悄悄把钱还给我,并小声对我说:“你的学费不用交了。”现在想想,可能是因为老师觉得我是他的得意门生吧?在班上,我还认识了一个人——刘晓亚,这个下次再提。
后来,上了六年级,学了一小段时间后因为要准备考初中,然后妈妈就没有让我再学编程了,等再碰它的时候,已经是高中了……。很怀念很感谢史老师,没有她,我也就不会走上这条路。高中毕业的时候曾跟刘晓亚想去看她,但是没有找到她。等以后有机会一定要去看她,并非常非常的感谢她!
回头想想,不得不承认我有学编程的天赋,学的一直很快,逻辑算法部分大部分都是小学时学的(也就是说我的算法水平其实一直没有什么长进。惭愧啊!)。我到现在都很佩服当时的我,看一段程序,马上就能背下来,不是刻意的,只是很自然的。有时候很多代码我并不一定理解,但是看一次之后在纸上就能一字不差的复写下来。这样大量的代码积累对我后来的编程也是大有裨益的。
除了最开始的两个月碰过电脑之外,其他时间都是在纸上写的。看到一道题目,先想思路,然后写在本子上,再然后自己在脑子里面调试,最后交给老师,老师在脑子里再调试一次……。环境很艰苦,但是这样做也极大的锻炼了我的逻辑思维能力和调试能力。这也可能就是为什么我的代码写出来比一般的人(当然有很多高手写出来的比我强得多)的精炼、逻辑严谨,bug少的原因吧?到现在我家里面还有5, 6本当时写的程序。没有一个真正运行过。
小学阶段一共学了一年半左右的时间(三年级一个月+四年级假期两个月+五年级一年),这一年半的时间里面学习的都是BASIC,不是现在的VB/VB.net大系,是那种需要写行号,没有缩进,没有函数,充满了GOTO语句的代码,所以我觉得我的逻辑思维能力也是在这种恶劣的环境下生存并一点一点磨练出来的。在这一年半的时间里面,保守估计一下,按照5个笔记本 x 每本100页 x 每页20行 = 10000行代码。恩,在这一年半的时间里面,至少写了一万行代码。(未完待续)

Comments