Seagate

我与IBM

  • 林一平

寇克(John Cocke,1925~2002年)。林一平绘

我发表的第一篇学术论文是基于IBM的大型资料库及硬件RISC架构的排列算法。1968年IBM 发展出第一个层次型数据库(Hierarchical Database)管理系统,称为MS V1运行于IBM 360计算机。直到今日,仍有很多企业在使用该数据库。这么多年来,S/360系统一直都是IBM在金融市场的主力,也是蓝色巨人的金鸡母。有趣的是,指令精简的RISC架构,也是IBM的首创。IBM的寇克(John Cocke,1925~2002年;图一)主导基于RISC架构的建置,于1975年推出IBM 801计算机。

IBM在扩大其业务的过程,资助全世界各大学的研究,保持良好互动。我1985年进入华盛顿大学研究所第一份研究助理的工作就是在执行IBM的计画,研究如何快速排列大量的资料。成果发表于IEEE Transactions on Software Engineering,是我发表的第一篇学术论文。

在那个年代,大部分研究生的第一篇论文都发表于会议(Conference),而我的第一次却登载于世界第一流的学术期刊。当指导教授Baer告诉我论文被接受时,我完全无法相信。这篇文章的撰稿经历了70余次修改,在研究过程,由于我资质不佳,更是挫折不断。有一次和Baer教授讨论时,我脱口而出:「I’m very frustrated.」Baer拿下眼镜,很疲倦的揉眼睛,回答:「Me too.」我问他,我是否应该放弃研究算了。他很简短有力的回答:「You will make it.」于是Baer连哄带安慰的引领我熬过瓶颈。

这篇论文发表后,我建立了信心,相信平庸如我者,只要努力,也可以独立做研究。除了感谢Baer教授的指导外,我也很感激IBM的资助。我的论文是以Codeword的方式表示记录(Record),再将大量记录以改良过的Quicksort加以排序。我发明的方法曾引起不少人注意,并为以色列的IBM公司采用。

Quicksort为霍尔(Charles Antony Richard Hoare,b. 1934年;图二)所发明,其过程也相当有趣。1960年8月,霍尔负责把Shell先生当时新发明的一种很快的排序方法Shell Sort写成程序。他的老板对霍尔写的程序很满意。不过霍尔觉得他发明了一种更快,且不花额外储存空间的排序法。他的老板不相信,于是他们打赌6便士。虽然这个方法很难解释,但最后他的老板认输,承认霍尔的方法比较快。当时霍尔并不知道这个排序法该怎么写成程序。后来他在一个研讨会学到「递回」(Recursive)概念,当场想通将他发明的排序法写出来,取名为Quicksort。我的第一篇论文巧妙运用Quicksort,到今天还有人写信来问我这篇30年前发表的论文细节,令我受宠若惊呢。

霍尔(Charles Antony Richard Hoare,b. 1934年)。林一平绘

现为交通大学资工系终身讲座教授暨华邦电子讲座,曾任科技部次长,为ACM Fellow、IEEE Fellow、AAAS Fellow及IET Fellow。研究兴趣为物联网、行动计算及系统模拟,发展出一套物联网系统IoTtalk,广泛应用于智能农业、智能教育、智能校园等领域/场域。兴趣多元,喜好艺术、绘画、写作,遨游于科技与人文间自得其乐,著有<闪文集>、<大桥骤雨>。