学电脑往事之二:PASCAL语言、汇编语言和C语言

    以前所谓学计算机就是学计算机语言,而不是现在一般人学软件使用。
    不知道是不是受上课睡觉还能顺利通过考试的鼓舞,后来又选修了PASCAL语言。其实那时最流行的是FORTRAN,其次才是COBOL和PASCAL――只要查一下图书馆目录就可以了解这一点。但选修课开设的是PASCAL,我就选了。虽然上课没有睡觉,但并不记得多少,只记得老师一个劲地鼓吹PASCAL的模块化优点。当时就是没明白,为什么没有BASIC语言那么好用的GOTO语句,居然就算优点呢。
    读研了,同门同学想学当时最高级的汇编语言,拉上我。听了几次,如堕五里雾中。除了知道做运算还要告诉计算机用哪个加法器、乘法器外,什么印象也没有。更大的问题是,上机时编写的语句根本通不过。快快放弃――好在我没有正式选课,要不然真叫自讨苦吃了。
    工作了,头脑有点无所事事的感觉。听说单位的计算机系在上当时最流行的C语言,在副馆长的鼓励下,便一同去听课,忘记了学汇编语言失败的事情。最终如汇编语言一样,不了了之。现在依稀记得的只有指针,以及不能用i=i+1,而要用i=i++或者i=++i。

 

学电脑往事之一:BASIC语言

    考大学的时候,计算机专业远谈不上热门。因为担心老是在电脑前有损视力,所以没有选计算机系。待上得大学,大家已经开始重视计算机了,BASIC语言是必修课。
    给我们上BASIC语言的据说是计算机系的总支书记。课在下午,开始几位室友总是坐前排位置,后来发现大家居然每回总要睡着,就坐到后面去了。因为是阶梯教室,几位室友一排趴在桌上,再怎么也是很显眼的事。但老师从来没提过意见,大家相安无事。
    那时学计算机根本见不到计算机。作业总是写一段小程序,无非是算一个数值,或者用*画出一个图形之类。上机实习用的是东海小型机,拿着写好的程序去终端上一行一行输入。因为回车后就不能改,所以输入时得十分小心。输入全部语句,最后RUN,看到了预想的值或图形,就算上机完成了。
    十年后家里买了第一台电脑,我用后来学的计算机语言知识,用机器随带的QBASIC(或者是GBASIC什么的,记不清了),为小儿编了一个“抓星星”的小游戏,基本技巧就是那个画“*”,不过星星有颜色,还能互动。又一个十年过去,某天长大了的小儿问起那个游戏怎么编的,我早已忘了。但直到今天,头脑中仍留有那个黑夜闪烁的星空。

 

编目的变革

    看Barbara B. Tillett博士(美国国会图书馆编目政策办公室主任)的文章“改变编目,但别把孩子与洗澡水一起倒掉”Change Cataloging, but Don&apost Throw the Baby Out with the Bath Water!(PDF文件):
    “未来我们将以不同方式编目,但保留基本编目原则的精华,并得益于规范控制。我们的工具不仅会改进未来的目录,而且会改进明日世界的信息寻找体系。”
    文中的几个小标题,反映着目前对编目工作的普遍质疑:

  • 我们不需要图书馆目录
  • 我们不需要MARC格式
  • 我们不需要编目规则
  • 我们不需要规范控制

    Tillett对这几个质疑自然持反对态度,但她的反对是建立在改变目前编目现状的前题下的。通过此文,我们可以了解图书馆目录、MARC格式、编目规则、规范控制诸方面的发展趋势。

    此文给我印象最为深刻的不是那些具体的趋势,而是这些趋势显示出深处危机中的图书馆界或者编目界不再自以为是,动辄想进行“用户教育”,让用户跟着图书馆的规则走,而是充分考虑用户的需求,尽可能地、向更广层面的用户提供方便、保留用户自己的选择。
    那个图书馆员换灯泡的幽默设问:“拧紧灯泡需要多少编目员?”答案是:“只要一个,但是他要先看一下国会图书馆是怎么做的。”当我们做什么都需要查手册,而不能依据目录功能或者用户需求直接做出决定时,做一名编目员实在是很令人悲哀的事。当我看到Tillett说“AACR下一版计划是解释规则后面的原则”,“基本的一条是训练编目员了解,为满足基本的用户任务需要些什么”时,我对AACR 3充满着期待。

    最近常常想到,我们跟着国际通行做法或者国际标准走,而那些通行做法并不是一成不变的东西。面临图书馆界之外的强势挑战,编目方面的通行做法也在不断地发展。我们或许缺少系统的研究,却未必没有认识到编目中存在的问题。当别人在探讨新的认识,或者重新检讨过去的失误时(比如Tillett谈到的在1980年代取消责任者关系词),如果我们仍然只依据那些已经成文(而实际上已经有些落伍)的国际规则制定我们的新规则、指导我们的工作,一定数年不变,那么我们只能永远地落伍。
    当然,更落伍的是,其实并没有用户需求之类为依据,却制定出一些匪夷所思的规则让大家遵守。