约翰·罗伯特(鲍勃·卡拉瑟斯)(1945-2009)

[约翰·罗伯特(鲍勃·卡拉瑟斯)]

Bob毕业于牛津大学圣埃德蒙霍尔分校,与Francis Rossotti完成了铜化学的第二年学习。他与基思·普劳特(Keith Prout)和弗朗西斯(Francis)一起为他的D.Phil工作,并对结晶学产生了兴趣。对于他研究的一种材料,他观察到“当衍射图案被索引时,很明显晶体不太可能是正交的,因为发现了一组奇怪的缺失”。这些晶体是孪晶的,“重叠反射被任意指定为测量强度的一半,直到编写了一个程序,其中包括最小二乘法中的两个分量”由于内存不足,有必要用机器语言重写程序。机器语言是计算机电子学的基础,程序员有能力和责任动手处理每个存储位置。于是,鲍勃开始了他与计算机的生活,以及他与约翰·罗莱特的卓有成效的合作关系。

1969年,Bob获得了Lincei国家学院和皇家学会的奖学金,允许他在罗马与Riccardo Spagna合作,在FORTRAN中重新实现Rollett AUTOCODES符号语言。该程序包括刚体约束等功能,一些底层数据结构仍然可以在CAOS(Cerrini S.&Spagna R.1977)微型计算机晶体软件中找到。

回到牛津后,他与Rollet和Prout合作,从头开始重新编写程序。这个名为CRYSTALS的新程序可以处理多达9个孪晶组件,并且有很多限制(包括现在通常称为SIMU和DELU的设施)。也许最新颖的功能是“用户自定义约束”,用户可以在其中定义自己的约束方程作为输入数据的一部分,然后由CRYSTALS进行分析区分。方程解析器和微分引擎都是用漂亮的FORTRAN语言编写的,在当前版本的CRYSTALS中仍在运行,基本上没有修改。Bob对编程的态度结合了对细节的细致关注和广泛规划的深远能力。

在博士后之后,鲍勃开始为牛津大学计算服务编写数据存档软件。然而,当大学将其主机升级为国际计算机有限公司(ICL)2980时,他继续尽可能地研究CRYSTALS,并第三次完全重写了底层数据管理。

大约在1979年,鲍勃去了Control Data Corporation工作,在超级计算机上执行气象程序。他在职业生涯的大部分时间里都在实现非常大的FORTRAN程序系统,并在最近几年实现了大量遗留软件包的现代化。天气预报得益于他的工作,但毫无疑问,结晶学失去了一位杰出的程序员。

在不使用电脑的时候,鲍勃是一位可靠的饮酒伴侣,也是一位令人敬畏的酒吧台球爱好者。我们中的一些人仍然记得鲍伯和乔治·谢尔德里克,以及其他年轻的晶体学家,1977年在牛津的ECM 4试图把酒吧喝干。他作为一名科学家的才华横溢并没有破坏他的个性——他总是谦逊、和蔼可亲,而且很有趣。

戴维·沃特金
2009年8月11日