第一百六十五章 编程语言(2/2)
不仅如此,观察太阳系之外的恒星或天体还好,但如果观察的是本星系内的行星和天体,为了得到相对准确的结果,还需要减去地球公转的公差,这使得计算天体的运行轨道变得非常困难。
不过好在,目前的课题中没有计算轨道相关的课题,他们目前的方向则是通过对频谱中不同频率的观测,尝试确定宇宙天体的物质组成以及相对含量。
而扩展可观测电磁波频率就变得比较重要了。
玛丽全身心投入到学习编程的伟大事业之中,起初她只是对可变符文阵相关的知识比较感兴趣,但是随着对程序指令的深入了解,她逐渐认识到很多指令其实是可以抽象出来的。
机器是笨拙的,所以想要让机器听话,它所要做的每一件事都需要进行规划和编程,包括很符合人类直觉的事情,却必须由人类手动拆成多条细节指令,变得不符合人类直觉,才能让机器执行。
比如说将目标材料加温到1000摄氏度这个简单的命令,看起来仅仅是一条命令,却需要拆成以下多个步骤:
如果目标材料存在则执行,否则跳过:
将加热符文从数据盘读取并存入暂存区,
激活温度传感小型符文阵,
将传感符文阵的控制值设置为1000摄氏度,
将传感器触发的事件更改为关闭加热符文,
执行加热符文。
以上步骤,每一条都需要写一个单独的命令,并且需要熟读指令手册才能够完成,而能够变通地做出这一点的人都无一例外需要较为强大的逻辑思维能力。
这还仅仅是一个加热的程序,如果是更复杂的呢?比如说将一个球形材料形变为一个甜甜圈型材料,不仅需要各种形变指令,还需要通过方向控制不停地改变材料的方向,整个程序如果要写下来大概需要几十条到上百条指令。
那么,有没有这样一款编程语言,能够用最书面化的语言或者自然语言来完成所有的过程呢?
玛丽陷入了沉思。
“如果我是一个语言的使用者,想对一个物体做一些操作,而且如果能将每一步作用在物体上的程序都能够自由调整。。。”
想了想,玛丽从抽屉里摸出纸笔,在纸上写了起来。
“我们有一个物体,其材料是砂板”,玛丽一边想着,一边在纸上写下了帝国语“砂板”这两个字,可是盯着这个帝国语半天后,她却直接将其划掉,用联邦语字母在下面写下一个缩写“sb”。
“我希望通过一个程序,将其转变为锆解石板,那么我可以。。。”,玛丽写下“sb(锆解石板)”
“不对”,沉思了一会儿,她轻轻摇了摇头,“变成锆解石板应该是一个过程,而且是可以分解的过程,那么我们可以一个符号表示一段过程,所以我必须约定一个符号来代表过程才行。”
于是,在略微思考过后,她在下方写下了:“sb->变成:锆解石”
“有点复杂。”
经过反复多次修改后,她最终将这一类过程修改为“变成锆解石(sb)”,而在将物质与其代号分离后,整个命令行被他更改为:
物质sb:砂板,
sb:变成锆解石(sb)。
望着这简洁精炼的代码,她突然笑了起来,她似乎找到了一个很有趣的东西,如果所有的功能被这样的代码抽象出来,如果每一个人都可以用一行指令去应用这些复杂的功能,而不必去理会这个方法之后的反直觉的逻辑。。。
那这样一种语言便可以成为一种高于机器指令和固定执行体的抽象语言,是更高一层的东西,能够开启程序语言的崭新篇章。
而接下来呢?
她看了看上面的程序。
接下来就只剩下三步,一:将“变成锆解石”方法用语言定义出来,成为一个可供调用的程序片段。
二:写一个翻译机,能够将高级指令翻译为一连串低级指令。
三:改变世界。
83中文网最新地址www.83zws.com