系列专题:《微软创建NT和未来的夺命狂奔:观止》
即使对于很有经验的程序员来说,他们也会发现他们的工作是非常枯燥无趣的。当然,在那时,还没有人自己拥有电脑。通常是十几个程序员共同分享一台大型计算机。这种大型计算机的大小足以把整个房间塞满,它能够成批地把很多工作一下子处理完。在批处理任务中,程序员把指令打到穿孔卡片上,向队列中增加一个栈,然后等待结果。因为这种大型计算机很贵,所以批处理任务的日程安排是非常严格的。很多时候,要花好几个小时甚至更长的时间才知道一个程序的命运。如果失败了,单单去纠正穿孔错误就可能要花上程序员一整天的时间。

卡特勒回到了杜邦公司决定在程序上有所成就。这个工作激起了他的兴趣,因为在程序世界里,他是那个环境的控制者。他还发现他有一种神奇的能力,可以一下子把七零八落的不同程序片段都记在脑子里。他开始渴望编程。他没有耐性排队等待杜邦公司的电脑设备,所以他在半夜工作,那时用计算机很便宜而且他能够不慌不忙地汇编和修正他的卡片。“几乎没有任何人在那儿,”他回忆说,“出错误的时候我可以再试一次,在我想用的时候就用,不想用的时候就不用。” 相对于整夜编程来说,做泡沫保温棉并没有让卡特勒晚上睡不着。不到一年的时间,他已经被电脑的魅力深深地吸引了。在电脑上找到解决问题的最佳方法之后,他很快就对问题失去了兴趣,而疯狂地爱上了电脑。事实上,卡特勒找到了人生目标。“我真正想要的是在电脑上工作,而不是用它们来解决问题。” 于是,卡特勒开始寻找一个需要编程的新工作,他找到了杜邦公司的另一个部门,这个部门需要有人来帮助维护Univac制造的中央电脑。20世纪50年代时,Univac生产的电脑在处理数据方面是最好的,但是到了20世纪60年代后期,这个公司开始走下坡路了。杜邦公司叫卡特勒提高那些使用多年了的Univac电脑的可靠性,这意味着要调整机器的操作系统。在那之前,卡特勒甚至从来没有考虑过操作系统。不过,公司的电脑专家看起来知道的也不是很多,于是他全身心地投入研究。 可以把计算机程序大致分为两类。应用程序,简称为“应用”(apps),是软件世界中看得到的一部分。它一类包括被普通用户使用的程序。举例来说,应用软件可以跟踪定单或者存货,检索名字和电话号码,准备要打印的文档或者控制时事通讯的设计。 另一方面,操作系统也是软件世界中看不到的一部分。它们是计算机的心脏,在背后跳动。表面看起来似乎所有的事情都是应用软件做的,但是事实上很多任务都是操作系统做的,比如打开文件、关闭文件、为要储存的信息建立目录、指挥计算机的输入、输出、存储和网络设备。