二十几年前的事了,听起来可能像是金庸的武侠小说,突然出现一个师叔师伯辈的人物,讲一些武侠旧事。其实我是喜欢平铺直叙,不喜欢多用形容词,不喜欢英雄人物。
大学: 纸上谈兵
1978 年二月的一天,苏州市三中,开学第一天。教务长进来打断老师的讲课,掏出一纸公文,郑重其事宣布我被大学录取了。这可是文革后的第一次,市三中当年唯一一个。他们让我打电话给老爸,我说不会打。回家老妈问这么早回家了? 我说告诉你一个不坏的消息...,找了一个五十年代的旧木箱,漆了一下,就成了我的行李箱。
两天后我离开了我的第一个家苏州,来到上海机械学院 (后改为上海工业大学, 上海大学),工业自动化系,电子自动化专业。过了几天,我被换到电子七七一班,当数学课代表。要求换我过来的是学习委员蔡国钧,六十年代年代的高中生,比我大十几岁,我们都叫他老蔡。
系里最强的是数控机床,刚开始根本不知道计算机。上完数理逻辑后就讲6800芯片,不知什么时候系里来了一台DSJ-130机,要用手拨进十三条指令才能用。
高级语言上的是 ALGOL-60,Pascal 的前身。学校计算中心有一台 DSJ-709 机,可以用 ALGOL-60。我们就成立了一个编程兴趣小组,每星期可用几个小时,不过这样贵的机器是不能碰的,我们要把程序写在纸上,打成纸带,交给管理员,等候运行,等打印结果。有时可能是语法错,就要去修纸带,为了省纸带, BEGIN END 要写成 $B$$E$,每个人要成为读纸带,补纸带专家。
那时的老师其实也没怎么用过计算机,全靠自己悟,再教我们。数据结构,操作系统,算法分析,编译教得很不错。上海还是有人才的, 而且上海人做事比较认真,不过离散,数据库的老师就很差。
编译是一个很年青有才的老师,沈祖梁,毕业设计他带了九个人,做三个语言的编译/解释系统: Forth,Lisp 和 Pascal。我想当时计算机界教授中也没几个知道这三个语言的,我做的是 Pascal 编译。
当时机房有了一台微机: Cromenco, 用CPM操作系统(DOS 的前身),八寸软盘。每天开机二十二小时,休息两小时。我们就派班轮流用,有时还要抢。找了一些日文的资料, 几个月后做出了 Pascal 打 内部代码 p-code 的编译 和 p-code 解释系统,可以运行简单程序。
居然找到大学毕业论文的程序, 近二十五年了。
....
BEGIN (* MAIN PROGRAM *)
WRITELN('PASCAL\E COMPILER VERSION 00。01 ');
WRITELN(' 1981 SHANGHAI UNIVERSITY OF TECHNOLOGY ');
INITIALIZE;
IF ERR THEN EXIT;
CHECKNEXT(10,0,35); PUT(T1); PUT(T2);
CHECKNEXT(1,0,33);
NEWSYMB(NAME,ENDPROC,-1,0,0,0,TRUE); PUSH(PSTB);
CHECKNEXT(4,7,21);
GETSYMBOL;
BLOCK;
CHECK1(4,6,36); PUT(T1); PUT(T2);
REPEAT PUT($1A) UNTIL PNT2=1;
CLOSE(FCB2,RESULT); IF RESULT=255 THEN ERROR(65);
CLOSE(FCB1,RESULT); IF RESULT=255 THEN ERROR(64);
。。。
END。 (* PASCAL/E COMPILE *)
真是写得看不懂,不过这就是 1981 的水平。
考研时间到了,上海工大没几个研究生名额,所以最好的学生都往外校发展。我选了南京大学,徐家福,据说他有南霸天的外号,借了南大的数学,数理逻辑,操作系统书恶补,居然考上了,回想起来有点后怕, 考不上不知会分配到那里。
回首大学四年是我人生最高兴的四年。大学以前的人生我是不合群的'白专典型',以后的人生再也没有这么多的人关心, 爱护我。当然大学四年让我成熟,自信了很多,可以在各种环境下发展了。
第一二年, 数学学得不错。 可以和数学班的学生争高低。
第二三年, 英文学得不错。 可以上全校长唯一的英文口语班。
第三四年, 软件学得不错, 可以考上南大徐家福的研究生。
在我的心中, 上海是我第二个家,所以我的第二本书会献给上海的朋友。说起上海的朋友,我还和他们长有来往。去年还见了蔡国钧(上海亚太)。
