牛津大学墨顿学院取得西洋古典学学士学位。在大学毕业后，进入英国皇家海军服兵役18个月，在此学会俄语。1958年退伍后，回到牛津大学，研读统计学，取得学士后学位。在此期间，开始学习程式设计，他跟着学习。为了进一步学习俄语，他以英国文化协会的交换学生身份，至苏联莫斯科国立大学留学，跟随安德雷·柯尔莫哥洛夫学习数学，并研究机器翻译。1960年，在莫斯科国立大学取得博士学位后，任职于伦敦艾略特兄弟公司（Elliott Brothers Ltd），开发出第一个商用的ALGOL 60编译器，很快就成为公司的首席工程