3Z中文网

3Z中文网>新时代研究 > 第246节 子程序的设想(第2页)

第246节 子程序的设想(第2页)

“啊?可以么?当然!当然!”

福兰特忙不迭的说道。

艾伦对兰恩笑道:“看吧,他很乐意的。”

……

重新回到沙发上,艾伦略带郑重的对兰恩说道:

“兰恩,我之前收到一封信,这里面的内容,我认为有必要和你说一下。”

“?请讲。”

看到艾伦的神情,兰恩瞬间镇定下来,专注的准备听艾伦接下来的话。

“由于研究领域接近的原因,我和伦丁尼市里,联动凸学的威尔克斯奥术师比较熟悉,经常有书信往来,不知道你是否听过这个名字。”

兰恩插话道:“嗯……好像有点印象,他们是最早一批,过来购买埃德瓦克图纸的人。噢对了,他们的想法是将他们手上的中继符文计算机,直接更换为埃德瓦克,所以他们之前还购买过银河实验室的伊扎德一号。”

“嗯,就是他们。”

艾伦点头说道:“威尔克斯他们按照埃德瓦克的图纸,组装好了一台计算机,然后迫不及待的在上面开展自己的研究,不过他告诉我,他们起初遇到了问题。”

“由于这是存储程序计算机,所以它的性能极为强大,但是这也造成了一个后果:如果需要完成的任务非常复杂时,就需要拼了老命编写能够在它上面运行的程序。”

“很不巧,威尔克斯他们需要计算的,就是这样的程序。于是,即使有微指令,不用直接操作机器码,编写这种程序仍然是一场噩梦。”

“用威尔克斯的原话,就是:‘那时候,我正试着让自己编写的第一个真正意义上的程序运转起来。有一天,我像往常一样从机房出来,准备去操作打孔机,突然站在楼梯转角处犹豫了,心里意识到,单是给自己的程序除错,可能就要花掉我大半辈子的时间。’”

艾伦学着兰恩未谋面过的威尔克斯,用他的说话口气描述道。

“于是,威尔克斯和他的同伴戴维惠勒,一道开始着手解决这个问题,他们想到了一个美妙的方法编写子程序。”

“子程序?”

“是的,兰恩,他们意识到,许多程序在运行的过程中,都需要重复执行某个操作比如在某个复杂的数字运算中,需要多次进行开平方操作。”

“如果每次开平方都得把平方根代码写上,那么程序当中就会出现许多重复代码,占用不必要的空间,使程序变得庞大而低效。”

“为了简化编程过程,威尔克斯的方法是建立子程序库,也就是将常见的函数单独列出,集中起来,就像把常见的词语及其释义收录在词典中一样。”

“为此他们建立了一套公共的纸带系统,一旦程序在运行的过程中需要使用到某个常见函数,计算机就会在子程序库中‘查找定义’,执行相应的子程序代码,根据输入值进行运算,再将运算结果返回。”

“他认为,这种方式很好,将子程序看做对基本指令集的扩展,后续的计算机中,就没有必要在为此再嵌入新的指令集,譬如一个特殊的开平方函数。”

“我们商讨了这套方案,感觉很合适目前的情况,所以我才告诉你这些。”

已完结热门小说推荐

最新标签