你的计算机启蒙是谁?

后续:两年后,我写了《记孙正威老师 | 黃河青山


感觉好像没什么值得说道的,对大家来讲。我个人觉得比较有意义的倒是有一件。在五年级的时候,有一个信息老师选拔数学比较好的人去学计算机竞赛,一共选了六个人。那个年代,不要说计算机竞赛了,就是计算机(对我来说)也是很遥远的东西。我还没有自己的电脑呢,只是偶尔会对着电脑店的广告单垂涎。

这个老师在小学很有名,叫孙正威,我经常在机房的电脑上看到以他为名的文件夹,或者是他创建的文件等。但是之前并没有上过他的计算机课,只是听说他很严厉。

不管怎么样,就是去学了。在新建成的教学楼的六楼,一个内外两间的办公室里。似乎外间有一台电脑,也许内间也有一台。然而有时老师并不总能准时到,我们几个只能在外面的走廊上等。那种焦急的心情,现在也似乎立马就能体会。但这样就变相翘课了,所以心里还很高兴。

中间的插曲有很多。比如和 5 个同学在机房一起比拼打字速度,最后 A-Z 的打字速度似乎练到了 400 多。还玩了一些 Flash 游戏,主要是《上古神器》。有一次有老师来培训 Photoshop,我听着听着就学会了,老师就让我教那些老师 – -。

中考的时候,我们依然坚持上课,甚至在中午回家时,被当成是少年而中考、并且提早交卷的人。到了暑假,新教学楼不开,我们就换到老教学楼里。想来这位老师也是很有为的人,之后我再没见过如此认真教学的老师。

学的效果还是比较好的。学的内容也比较全面,至少把那本小学竞赛书都过下来了。我自己也很有热情,去乒乓球管看球都不忘带着电脑码 QBASIC。那时候我还比较热衷 Access 的窗体设计和编程,因为买到了一本相关的书。最后为我妈做了一个保险订单管理系统,被老师夸赞说有钻研精神,还发送到了市里相关老师处。

然后就是比赛了。还记得当时的小学竞赛是发一张纸,手写答案的。现在就记得有一题是某种迷宫了。最后我也许是急中生智,脑算了一些答案填上去。当时去了 3 个人,一个人是 0 分,另一个是 10 分,我是 180 分。结果出来我还沾沾自喜,然而宿舍里一个别的学校老师表示了不屑,当然人家的学生成绩确实都很好。最后我是盐城市二等奖的第一名(哇我怎么老是记住这个),一等奖的都是盐城一小(也是当届比赛的举办地点,不过是在南校区。据说离我高中念的盐城中学很近,然而念了三年也没有想起去看看)的。

当时在竞赛获奖名单上看到的一些人,多少年后还是会偶尔关注,发现他们都去了清北,或者出国,想来也是必然的。

然而好景不长,这种学习戛然而止,因为这位老师考上了税务部门的公务员,不再是老师了。这无异于一记晴天霹雳,当然对我触动不是很大,因为我好像对数学和(想象中的)物理更感兴趣。

后来我自己买了一本职校教材,但是好像没什么有意思的内容。倒是讲了一些绘画功能,但我似乎没有去实践的动力。又买了一本什么 Visual Basic .NET 开发的书,但是我最感兴趣的内容是安装完整版的 Visual Studio 2003,因为别的内容都看不懂,什么事件之类的——我只会 Access 中的编程。

到了初中,没有老师能继续指导,我自己也很是懒惰,每年只有临考试才看看信息学,水平不忍直视,乃至连续两年都 runtime error (甚至到今天我都不知道啥原因。。。)。而且我好像确实对数学更上心,有一次在南京比赛,我就买了一本拉夫连季耶夫的《复变函数论》,虽然看不太懂。。高中学校更是不支持,好在到了市中,有了一些同侪。巧在第一年复赛,恰逢禽流感,参赛的当天我居然神秘地发起烧来,不能开出体温证明来。。之后的两年,就自暴自弃,懒得参赛了。我的 OI 生涯就这么结束了,或者说从没有开始过。

我无意为自己开脱,最主要的原因还是自己学习能力太低下了。网络上什么资料都有,怎么能归咎于学校呢?当时初中参赛时,我就听到过旁边的老师谈及他们的选手都是小学生,自己在论坛上学。遗憾的是,我甚至高中才知道有 OJ 这种东西存在,然而又能怪谁呢?我初中就熟知各种色情网站,说到底还是因为动力不足。

这样的结果就是,我的电脑水平长期停留在熟练使用 Windows,对编程都一窍不通,不要说系统架构了。这样的半吊子竞赛经历对我有很大的坏处,实际上,直到半年前我才学会应用开发,这是多么的遗憾啊!之前,我对编程的印象还一直停留在一个文件,一个 main (之类的函数,其实我只能写 PASCAL)呢!

这中间唯一值得有点意思的,是初中的时候沉迷 Flash 游戏,在一个叫 Nonoba 的网站上(现已倒闭)。一知半解的情况下写了一些打飞机之类的小游戏,还加上了粒子效果的星球背景等。但是我并不了解整个的架构,而且当时用的是 ActionScript 2,对于深入理解编程并没有什么好处。ActionScript 3 出来,我顿觉无所适从,恰逢初三,搞一些别的事情的同时就停止了学习。

大二的时候(也就是 2014 年初),买了一台 MacBook Pro。2014 年暑假,获悉另一位高中同学也买了,我们就多了些交流。他也是初中时(相对来讲)长于信息竞赛的人,因为盐城中学初中的竞赛有人带。但是到了高中,就不怎么搞 OI 了,没有人带,学校也不鼓励。他有一年差点拿到保送资格,然而最终还是没有。他本来大概能考清华,高考却只去了南大,我们当时都很震惊,而且是念数学,和我一个专业。

当时他向我安利一些 Python,beautifulsoup 之类的东西,我甚是不明觉厉。他发送我的 python 源码,我似乎还保留在 ~ 目录(彼时我还不太懂 OS X 的文件结构)。我们当时讨论一些开发软件的事情,比方说 iOS App 的开发。我试图学了学,但是没有懂。不知他有没有学。

我们还交流了一些关于 ss 等网络工具的知识,但以现在的眼光看来,都很粗浅。我当即买了两个 bandwagonhost 的 vps,走上了一条不归路。

不知是那个暑假还是再一年前的暑假,为了在网页上随处渲染 LaTeX 公式,以及把 WordPress 的图片公式替换成 MathJax 的公式,我强行搞了一个 Chrome 扩展,就是这个 Axure/MathAsYouWill · GitHub。当时是用 JS 手动生成 DOM,还被异步的调用搞得晕头转向。最近改用 AngularJS 重写了一下。

在种种因素的刺激下,下一个学期,我就去修行了计算机学院的一些课,比如数据结构,但是完全不得要领。期中考试的时候,我几乎交了白卷。痛定思痛,我开始大规模翘课研究计算机,这导致我学会了一些数据结构,但是挂了很多别的课。但是转变大概都是需要代价的。我可能更多是在圆我的计算机梦,我想找回那本来(想象中)属于我的东西。

后来断断续续地和他交流过,他似乎志在计算机方面的学术,我们就无法更深入地交流开发了,真是遗憾啊。不过他也是曾经的 OI 党,自然倾向搞一些计算机方面的学术,而我学习编程,只是为了做出想象中的东西。我的兴趣,还是在数学。这样似乎很自然。

我真正开始学习开发刚刚半年(这从我的 GitHub commit 记录也能看出来),计算机领域对我来说是一个新的世界。我才刚刚启蒙,期待未来能有更多的发展。

2015-10-04 于知乎

freetiger18 :