我们都好引用孔子在川上曰的一句话:“逝者如斯夫,不舍昼夜。”这不,前面我们刚考完编译原理,一转眼这就2012了。话说此时距离孔子发出他 那句著名感叹不知道已经有二千几百年了,那位当年说“未知生,焉知死”的那个“丧家犬”现在早已成了死透了的至圣先师,估计如果教他现在说些什么,如果他 还能说话的话,说的该是“既知死,犹不知生”吧?所以面对这种情境似乎有两种态度,一是既然终究要知道“死”,不如趁现在好好研究“生”;另一种是既然怎 么着都研究不出来“生”,那还不如研究毛线好了。
列位看官!不好意思,前面我扯偏了。这篇日志的本来目的是在这个特殊的时节,谈一谈已然一头扎死到历史的尘埃中去的2011,以及那个久负盛名、如 今终于“犹抱琵琶半遮面”地登场的2012。所以前面的开头的本来目的是从用第二句话同时“花开”这前面所提到的“两朵”,然后用串行的方式“各表一 枝”。可惜一不小心我的键盘就滑了一下,我的膝盖好像也顺便中了一箭。其实我似乎一直不太擅长写一篇条理清晰、逻辑顺利的文章的,这个是我从我这学期n次 做答辩和presentation的经历,以及写某些稍显严肃的文章的时候的体会中得出的。不过写文章做不到“浑然天成”似乎也不是太大的问题,也许我还 有一个努力的方向是“离题万里”,“浑然天成”。
嗯,上面那么一段话看起来似乎有废话和再度偏题的嫌疑,不过仔细掂量下可以发现,这也是我在逝去的2011年所得的诸多体会之一,所以目前还可以说 是按计划进行。昨天(仍是2011年的时候)和前天就看到有不少人在写2011年的总结,当时我就在想,这2011可是还没断气呢!所以我忍到了这个时候 才开始写2011年的总结(真的不是因为当时在预习编译原理吗?)。
前一段校内上流传这么一段话:“一花一世界,一叶一菩提。一天一本书,一周一学期。”我读到这句话的时候真想拍案叫绝,不过桌子实在是太乱了,如果 真的拍了我电脑旁边堆的那一摞才翻过和正要翻的书估计就要塌掉了。这句话真的挺形象的,不过和我们学院的真实情况还是有蛮大的差距,因为我们除了期末考试 还有各种照着你的膝盖上射箭的大作业。我猜想,如果教我现在谈起当初调MINIX调度器,写DSDV算法,还有写编译大作业的三地址代码生成部分和面向对 象大作业的某个usecase的代码时候的情景,会不会有种谈起“哥当年军训的时候”的感觉?
我觉得2011年这一年的软院生涯还是让我学到了不少东西的。但是每当我思考到底是什么让我学会了什么的时候,我却会有点茫然。比如说我似乎是从大 二下学期的软件工程课程大作业中学会了点Struts,还有些JavaScript,但是这些好像都不是那门课所教授的内容。再比如说我在这一年刚刚开始 使用Linux,而我使用的第一个Linux似乎是MeeGo,使用后者是为了参加Intel的一个比赛,可是可以说参加那次比赛的经历教会了我使用 Linux吗?好像不是的,似乎是因为后来我给自己的电脑安装了Fedora然后这么一路折腾出来的。那么从参加那次比赛的经历中我到底学到了什么?我还 真不知道怎么回答。再比如说我通过大三上学期的编译原理课程大作业里学到了什么?词法分析和语法分析部分似乎只学会了怎么使用JavaCC这个工具,而后 来的第二次大作业类型检查和三地址代码的内容我手工实现了三地址代码的生成,不过这部分我似乎没用到什么课本中的知识,就那么自己写着来实现,实现得并不 美观,而实现之后我也不知道美观的写法应该是什么样子,我依然不清楚我从其中学到了什么。
其实我根本没有想明白的还有一个问题,那就是怎样才叫学到了什么。比如我学会了使用JavaCC这种工具,但这又算学到了什么?又比如说,大二下学 期的软件测试课程,可以说我学会了(至少当时学会了)使用WinRunner这个软件对Win7自带的计算器进行一些测试,so what?雷哥常用句式里有一种“不就是XXX吗”,比如说你和他讨论“解析HTML”这么一个话题,他会说:“不就是给你一句话让你生成一些图形吗?” 或者给他看一些很炫的GUI程序,他会说:“不就是一些调用现成库的逻辑吗?”(不是原话,意思应该相差不大)每次碰到这种情况我会发现我还真不知道怎么 回答,而且说实话我还真觉得他说的是那么回事,所以我每次的回答都是“是”。当然雷哥好像并不是达到了那种视红颜如尘土、视算法以外的一切如民工活的境 界,因为我记得当初问他老人家实现shell是不是就是调用各种系统调用的时候他告诉我怎么设计这个程序的逻辑什么的也是挺难的。不过这是题外话了。
我还记得大二下学期的时候,虽然我在软件工程概论课程上做课堂演示的时候是很自信的样子(当然当时我也确实很自信,虽然现在越来越能感觉到当初那次 大作业我们的作品里有很多糟糕的东西,但是我对那个时候我们做出那样的作品依然感觉很自豪),但是其实那一段我一直有种沮丧感的。我记得当时我是这么想 的,一个人比另一个人强分为两种:一种是我比你多看了一些东西;一种是我就是比你厉害。当时的我相信我自己是比某些人(泛指)强的,但这种“强”似乎仅仅 是因为我比他们多看了一些东西罢了。换言之,如果他们也看了这些东西那么我们就没有任何差距了(毕竟在这个现实世界里阿基里斯还是可以追得上乌龟的)。我 现在会使用WinRunner对Win7自带的计算器进行测试,你现在不会,但这又如何?我现在会使用Struts,你现在不会,但这又如何?
我们前面讨论的我没想明白的问题又是一个让我非常沮丧的事情,虽然貌似在过去的2011一年里我学了很多东西,至少我可以列出来一大堆新学了的东 西,但我却很少能说出来我学到了什么东西。戴着这些轻飘飘的名词,就好象表面上看来你坐在帝王的位子上,但你旁边却站着伊尹、霍光或者曹操。不过也许我之 前对一个人比另一个人强的情形划分还是太过简单,毕竟“我比你多看了一些东西”还包含别的情形,比如说“我比你多看了几十年的东西”——换言之,至少你还 是可以比别人多学一些东西,而这些东西他可能要很久才能赶上。这似乎又是一个“术业有专攻”的范畴的问题了,只是在做过对于一个大三学生来说貌似也不算少 的项目以后,我却还没有想清楚我将来到底想在这茫茫代码地,钻到哪个坑里去。