第三章 湖畔中学(6)
我编的第一个程序是从手册里学来的:画一个正弦波。看着电传打字机的托架前后摆动,描绘出一个完美的星号图案,就像看着一只隐形的、被催眠的手在作画。
几天之后,弗雷德·赖特老师就没什么可以教我们的了,他只是偶尔探个脑袋进来,笑道:“干得怎样了?”一些墨守成规的老师抱怨说我们太过自由了,但赖特老师乐于把握
“控制”和
“混乱”之间的界限,在最大限度内释放我们的热情。当我坐在电传打字机前面时,那种激动之情是无法用言语表达的。
看着写在笔记本纸页上的程序,再用键盘把它输入,接下来是打卡器打孔,然后拨号连接通用电气的大型计算机,等到它发出
“哔”的一声,再用学校的密码登入,敲下
“开始”按键,送入卡片开始读卡,这个过程要花几分钟的时间。伟大的时刻最终来到了。
我敲下
“运行”的命令,很快我的成果就以每秒10个字符的速度被打出来--对今天的激光打印机来说,这个速度简直是老牛拉破车了,但在当时,是很令人振奋的。
所编的程序是否正确很快就能有结果,如果错了,我会收到一个出错的信息。
无论是正确还是错误,我都会立刻退出,以节省费用。然后我会循着纸带查找错误,再用键盘输入纠错,同时打一个新的纸卡--任何错误都是这样修正的。
今天,这个微妙的过程只需点几下鼠标、敲几下键盘就可以了。每当得到$淫荡,我就用皮筋把那个卡片扎好,放在架子上,直到下个学期到来。
对今天的年轻人来说,这个过程看起来是极度烦琐的,就像用卢布·戈德堡机器卢布·戈德堡机器(rubegoldbergmae),指设计过于复杂的机械组合,用迂回曲折的方法去完成其实很简单的工作,如倒茶、打鸡蛋等。
--译注去打开一个核桃。但对20世纪60年代末的中学生来说,能从计算机那里得到回应是令人振奋的,哪怕需要等上好几秒钟才能使得它在
“快艇骰子”游戏里走上一步。从某种意义上说,分时终端标志着我个人计算机应用的开始,而几年后个人计算机才真正出现。
编程则与我的内驱力相契合:探索事物是否运行然后修改错误。我曾长期痴迷于研究事物的内部结构,从晶体管和集成电路到儿时的公路仪器读物。
但是编制我自己的计算机代码所带来的创新感远超其他我曾尝试过的事情。
我觉得这里总有东西需要学,一层又一层的知识、一层又一层的技术。
不久,我就将整个午饭时间和课后时间用在了与和我趣味相投的同学一起研究电传打字机上面。
其他的同学也许觉得我们很怪异,但我不在乎。我已经找到了我自己的专业,我成为一名程序员了!
我编的第一个程序是从手册里学来的:画一个正弦波。看着电传打字机的托架前后摆动,描绘出一个完美的星号图案,就像看着一只隐形的、被催眠的手在作画。
几天之后,弗雷德·赖特老师就没什么可以教我们的了,他只是偶尔探个脑袋进来,笑道:“干得怎样了?”一些墨守成规的老师抱怨说我们太过自由了,但赖特老师乐于把握
“控制”和
“混乱”之间的界限,在最大限度内释放我们的热情。当我坐在电传打字机前面时,那种激动之情是无法用言语表达的。
看着写在笔记本纸页上的程序,再用键盘把它输入,接下来是打卡器打孔,然后拨号连接通用电气的大型计算机,等到它发出
“哔”的一声,再用学校的密码登入,敲下
“开始”按键,送入卡片开始读卡,这个过程要花几分钟的时间。伟大的时刻最终来到了。
我敲下
“运行”的命令,很快我的成果就以每秒10个字符的速度被打出来--对今天的激光打印机来说,这个速度简直是老牛拉破车了,但在当时,是很令人振奋的。
所编的程序是否正确很快就能有结果,如果错了,我会收到一个出错的信息。
无论是正确还是错误,我都会立刻退出,以节省费用。然后我会循着纸带查找错误,再用键盘输入纠错,同时打一个新的纸卡--任何错误都是这样修正的。
今天,这个微妙的过程只需点几下鼠标、敲几下键盘就可以了。每当得到$淫荡,我就用皮筋把那个卡片扎好,放在架子上,直到下个学期到来。
对今天的年轻人来说,这个过程看起来是极度烦琐的,就像用卢布·戈德堡机器卢布·戈德堡机器(rubegoldbergmae),指设计过于复杂的机械组合,用迂回曲折的方法去完成其实很简单的工作,如倒茶、打鸡蛋等。
--译注去打开一个核桃。但对20世纪60年代末的中学生来说,能从计算机那里得到回应是令人振奋的,哪怕需要等上好几秒钟才能使得它在
“快艇骰子”游戏里走上一步。从某种意义上说,分时终端标志着我个人计算机应用的开始,而几年后个人计算机才真正出现。
编程则与我的内驱力相契合:探索事物是否运行然后修改错误。我曾长期痴迷于研究事物的内部结构,从晶体管和集成电路到儿时的公路仪器读物。
但是编制我自己的计算机代码所带来的创新感远超其他我曾尝试过的事情。
我觉得这里总有东西需要学,一层又一层的知识、一层又一层的技术。
不久,我就将整个午饭时间和课后时间用在了与和我趣味相投的同学一起研究电传打字机上面。
其他的同学也许觉得我们很怪异,但我不在乎。我已经找到了我自己的专业,我成为一名程序员了!
</p>