16

文 / Peter Seibel  译 / 米全喜

以啤酒收取程序调试报酬

Seibel:你是如何开始学习编程的?是从什么时候开始的?joe armstrong

Armstrong:是从中学时开始的。我出生于1950年,上中学那会儿还没有几台计算机。到了中学最后一年,那年我应该是17岁,我们当地的议会得到一台大型计算机,好像是IBM的。我们可以在上面写Fortran程序。通常,我们在编码纸上写好程序,然后发出去。一个星期后,等编码纸和穿孔卡拿回来的时候还必须确认一下。但是制作穿孔卡的人总会出点错,所以可能要反复1~2次才能弄好。最后这些穿孔卡就可以送到计算机中心了。

卡片进入计算机中心后会再拿回来,因为Fortran编译器会在程序中出现第一个句法错误的地方停下来,后面的程序就都不处理了。你的第一个程序似乎需要3个月才能跑通。我认识到,不能每次只送一个程序,应当并行地开发多个单一子例程并且一次都送去。我记得写过一个显示国际象棋棋盘的小程序,用打印机绘制出来。但是因为中间等待的时间太烦人了,我不得不把所有的子例程都当做并行的任务一次写完。

Seibel:你学的是物理学,是从什么时候开始转向编程的?

Armstrong:嗯,有一些本科生的课程需要编写程序,而我又特别喜欢编程。我还非常善于调试程序。如果别人程序出了问题,我就会去调试别人的程序。标准调试的开价是一杯啤酒。也可能提价,还有两杯啤酒、三杯啤酒的问题。

Seibel:在给他们调试程序时,是以他们必须给你买多少杯啤酒而论的,对吗?

Armstrong:对,等我修复了程序时他们要给我买啤酒。我在读程序的时候总是在想:“他们为什么要这样写程序呢,太复杂了。”我会重新编写并简化程序。看到人们编写复杂的代码我感到很吃惊。有些问题用几行代码就能解决,但是他们要写上几十行。我有点好奇,他们为什么看不到简单的方法呢。而我就颇为擅长采取简单的方法。

我真正开始编程是拿到第一个学位并打算读博士学位的时候。我开始读高能物理博士学位并加入了那里的气泡室小组,他们有一台计算机。那是一台DDP-516,是Honeywell公司的。我可以独自一人使用它。它是穿孔卡式的,但是可以在上面直接运行程序,只要把穿孔卡放进去,按一下按钮,答案刷地一下就出来了。我特别喜欢那台计算机。我在上面编写了一个小象棋程序。

那时的实际磁心存储器是由妇女编织而成的,能够看到磁心和一块块的小磁铁和穿进穿出的线路。它的价格高得惊人,有一个大约10MB的磁盘驱动器,上面有20个小底板,大约15公斤重。它还配了一个电传文本的界面,可以在上面输入程序。

后来又出现了“玻璃电传打字终端”,那是最早的视频显示器设备,可以在上面输入并编辑程序。我觉得这太神奇了,再也不需要穿孔卡了。我记得当时和计算机管理员说:“要我说,将来有一天人人都会有这样一套机器。”他说道:“我看你疯了,Joe,你真是疯了!”“为什么不可能呢?”“这些东西贵得离谱。”

正是从那时我真正开始学习编程了。当时我的导师对我说:“你不应该再读物理学博士了,改行吧。你热爱计算机,应当搞计算机。”我说道:“不,不,不。我不能半途而废。”但实际上他的话是对的。 阅读全文 »

标签:
阅读:35,338 次
preload preload preload
京ICP备06065162