我个人认为,我的大部分技术成就都是暂时的。因为根据摩尔定律,一位绝顶聪明的图像程序员在某个时间所能做的任何事情都能够在几年之后由一位仅仅够格的程序员完全重现。
一位绝顶聪明的图像程序员在某个时间所能做的任何事情都能够在几年之后由一位仅仅够格的程序员完全重现。
FS: 你现在已经非常富有——这对你有什么影响?
John: 我现在拥有的财富足以让我无需再继续工作;我的确不需要再工作了。这种自由的感觉非常好。因为只要你拥有足够的钱来维持你的生活,你就不必听命于任何人,也不需要想法设法赚更多的钱。尽管有很多人已经非常富有,但是他们仍然屈从于拥有更多财富的诱惑。
我希望永远处于行业前沿,从事实际的开发工作。当然,回到幕后阅读资料、研究理论和获得更加广泛的视角也会带来一些好处,但是如果你不了解开发的具体细节,例如工程项目与真实世界的联系,你就会变成一个只会夸夸其谈的理论家。你可以从理论家的所作所为和一个从事真正的开发工作的工程师的工作之间看到这种巨大的差别。
FS: 你对工作的专注让人惊叹。看来你是唯一适合现在这项工作的人。
John: 专注非常有用。在现在这个环境中,我认为软件是一种几乎最理想的介质。但是如果不做这一行,我可能会成为一名工程师或者某种意义上的科学家。我可以从事任何一种“硬科学”。
软件具有很多与众不同的优点。从事物理试验的研究人员需要用一年的时间进行准备和制作工具,然后还要花一年时间来分析试验结果。但是在开发软件时,你可以立即看到运行结果。你只需要坐在那里对程序进行反复的调试。你可以立即运行程序。对于所有智力探索活动来说,这是最容易适应的工作方式。我很庆幸自己生活在这个软件业非常繁荣的时代。
FS: 你是否认为编程工作和将想法转变为程序代码的过程激发了你对编程的兴趣?或者是你在Apple II和PC发展早期所玩的某些游戏?
John: 我可以说出我当时非常喜欢的游戏的名字,但是我真正喜欢的是进行抽象的编程。我喜欢这项工作的很多独特之处。
很多人加入游戏行业的原因就是他们喜欢游戏,而且乐于创新。
我对编程的热爱则来自于一种更加抽象的感觉。我可以从为Linux编写设备驱动程序中获得很大的乐趣。我还喜欢编写数据库管理程序或者其他程序,因为在开发过程中总是会遇到一些有趣的问题。有些事情可以给我带来更多的满足感。图像和游戏很可能是编程工作中最能给人带来成就感的领域。
John还提到了一个(的确)次要的问题:为了支持Java,他不得不重写并重新调试超过30,000行的游戏成品DLL库代码。不过从长远看来,John还是认为Java要比C优越,而且他也在以极大的兴趣关注Java在实时3D游戏方面的进展。