魔法导论无弹窗 第一百六十五章 编程语言
留学深造不是一次谈话就能确定下来的事情,不过在他们的谈话期间,菲尔斯已经从仓库里搬出了信号发生器,用浮空阵将其运送到了望远镜正对方向百米开外的位置,输入能源并准备开始实验。信号发生器的功率并不大,不过这正好满足了他们的需求,要知道电磁波在经过漫长的传输之中难免会造成一定的信号衰减,穿越大气层更甚,而深空中并没有信号放大器和中继器,所以类比下来如果能够正确探测到百米开外的信号发生器,那么望远镜的探测能力便可以得到验证。
嗯。。。部分验证。
菲尔斯推动浮空的发生器的基座,以保证方位对齐望远镜发射方向,然后打开了信号发生器,并通过输入精神力调整发生器的信号频率。
当信号频率收束在毫米波后,菲尔斯让自己的组员回到实验室里,去看看结果如何。
其实当信号打开前,射电望远镜就已经产生了输出,只不过输出比较混乱,大多数都是些细微的杂波,望远镜的操作员正尝试将杂波进行过滤,结果信号发生器突然打开,输出的频谱线猛的增大,吓了他一跳。
观测与控制不是同一台计算机,而观测用的计算机设计就比较简单了,除了进行机械控制的控制台以外,也只有一个进行输出的纸带机。
不过仔细观察频谱线,输出结果呈现规律波动,这说明这已经不是杂波,而是信号发生器的有规律信号,虽然仅仅是频率单一的波,但也足以证明整个射电望远镜的接受装置正在正常运行。
操作员将这一消息告诉了还在给自己女儿做思想工作的诺克雷德教授。
“测试通过了?是毫米波么?”诺克雷德教授扔下自己的女儿向控制台走去,没看到后面的女儿松了口气,满脸无奈。
“显示标量为七点五毫米波段,和验收时的测试是相符的。”操作员回答道。
诺克雷德教授点点头,“很好,虽然我们对恒星的准热辐射有所猜测,但是一直以来缺乏有效的观察手段,这个东西还真是帮大忙了。”
看了看面前的操作台,教授转向操作员,“马斯克,尝试将望远镜对准恒星,我们先试一试能不能成功。”
“好的教授,可是对准哪颗呢?”马斯克回过头来疑惑的问道。
“最亮的那个。”诺克雷德教授随意说道。
“最亮的。。。天宿一?北角五?”
“最亮的。”诺克雷德教授强调道。
“额。。。北斗一?还是甲丑七?还是。。。”
诺克雷德教授低下头来,面色平静地看着马斯克。
看到教授面无表情地神情,马斯克逐渐面露恐慌,疯狂回想到底哪个恒星是最亮的,想了半天眼睛一亮,“我知道了,之前观察到伽马射线爆炸的鹰嘴十六!”
啪!
诺克雷德教授猛的扇了马斯克脑袋一巴掌,恨铁不成钢地瞪着他,“太阳啊!你个白痴!!”
马斯克捂着脑袋趴在控制台上,哎呦了一声,假装很疼,不过很快他就回过头来不解地问,“那个。。。教授,望远镜直视太阳。。。不会烧掉聚集器么?”
“反射层能够反射的电磁波频段很窄,能够聚集的能量有限,不然我为什么费这么大力气建一个可变频率的射点望远镜?”诺克雷德教授瞪了他一眼,“这个也要问?罚你算出射电望远镜观测太阳时聚集的能量值,明天之前!”
“啊?不要啊教授。。。我晚上还有约会。。。”
“改签!”
说完这话,诺克雷德教授转过身来,看着不远处自己的女儿正津津有味的看着编程书籍,却对自己提出的留学想法不置可否,越想越气,越想越气,最后气不过,最后回过头来又恨恨地扇了马斯克的脑袋一巴掌。
啪!
“啊!”
“叫你记不住太阳是恒星!”
。。。
射电望远镜不光可以进行长时间的跟踪观察,如同长时间曝光一样,对静止的物体观测结果进行叠加,最后合成一张高分辨率的观察结果,它也可以通过天球扫描进行扫视,绘制整个天球的图像,然后再在其中寻找值得观察的目标。
一般来说前者是手动跟踪而后者是自动扫描,但是无论哪个,结果都需要对地球自转产生的偏差进行人为消除,以保证观测结果的相对准确。
不仅如此,观察太阳系之外的恒星或天体还好,但如果观察的是本星系内的行星和天体,为了得到相对准确的结果,还需要减去地球公转的公差,这使得计算天体的运行轨道变得非常困难。
不过好在,目前的课题中没有计算轨道相关的课题,他们目前的方向则是通过对频谱中不同频率的观测,尝试确定宇宙天体的物质组成以及相对含量。
而扩展可观测电磁波频率就变得比较重要了。
玛丽全身心投入到学习编程的伟大事业之中,起初她只是对可变符文阵相关的知识比较感兴趣,但是随着对程序指令的深入了解,她逐渐认识到很多指令其实是可以抽象出来的。
机器是笨拙的,所以想要让机器听话,它所要做的每一件事都需要进行规划和编程,包括很符合人类直觉的事情,却必须由人类手动拆成多条细节指令,变得不符合人类直觉,才能让机器执行。
比如说将目标材料加温到1000摄氏度这个简单的命令,看起来仅仅是一条命令,却需要拆成以下多个步骤:
如果目标材料存在则执行,否则跳过:
将加热符文从数据盘读取并存入暂存区,
激活温度传感小型符文阵,
将传感符文阵的控制值设置为1000摄氏度,
将传感器触发的事件更改为关闭加热符文,
执行加热符文。
以上步骤,每一条都需要写一个单独的命令,并且需要熟读指令手册才能够完成,而能够变通地做出这一点的人都无一例外需要较为强大的逻辑思维能力。
这还仅仅是一个加热的程序,如果是更复杂的呢?比如说将一个球形材料形变为一个甜甜圈型材料,不仅需要各种形变指令,还需要通过方向控制不停地改变材料的方向,整个程序如果要写下来大概需要几十条到上百条指令。
那么,有没有这样一款编程语言,能够用最书面化的语言或者自然语言来完成所有的过程呢?
玛丽陷入了沉思。
“如果我是一个语言的使用者,想对一个物体做一些操作,而且如果能将每一步作用在物体上的程序都能够自由调整。。。”
想了想,玛丽从抽屉里摸出纸笔,在纸上写了起来。
“我们有一个物体,其材料是砂板”,玛丽一边想着,一边在纸上写下了帝国语“砂板”这两个字,可是盯着这个帝国语半天后,她却直接将其划掉,用联邦语字母在下面写下一个缩写“sb”。
“我希望通过一个程序,将其转变为锆解石板,那么我可以。。。”,玛丽写下“sb(锆解石板)”
“不对”,沉思了一会儿,她轻轻摇了摇头,“变成锆解石板应该是一个过程,而且是可以分解的过程,那么我们可以一个符号表示一段过程,所以我必须约定一个符号来代表过程才行。”
于是,在略微思考过后,她在下方写下了:“sb->变成:锆解石”
“有点复杂。”
经过反复多次修改后,她最终将这一类过程修改为“变成锆解石(sb)”,而在将物质与其代号分离后,整个命令行被他更改为:
物质sb:砂板,
sb:变成锆解石(sb)。
望着这简洁精炼的代码,她突然笑了起来,她似乎找到了一个很有趣的东西,如果所有的功能被这样的代码抽象出来,如果每一个人都可以用一行指令去应用这些复杂的功能,而不必去理会这个方法之后的反直觉的逻辑。。。
那这样一种语言便可以成为一种高于机器指令和固定执行体的抽象语言,是更高一层的东西,能够开启程序语言的崭新篇章。
而接下来呢?
她看了看上面的程序。
接下来就只剩下三步,一:将“变成锆解石”方法用语言定义出来,成为一个可供调用的程序片段。
二:写一个翻译机,能够将高级指令翻译为一连串低级指令。
三:改变世界。