文档库 最新最全的文档下载
当前位置:文档库 › 第五代编程方法的编程平台

第五代编程方法的编程平台

XWorker是什么?

XWorker是一个基于知识的第五代编程方法的编程平台。

由于第五代编程语言(方法)还未真正出现,所以我们也只能以‘自称’自居,如有疑问可以一起探讨,不过可以确定的是第五代编程语言(方法)应该是以知识为基础的编程语言或方法。

什么是知识?

XWorker认为一个计算机程序理论上只能处理数据,而程序本身也应该是一种计算机程序可以处理的数据,因此我们把任意计算机程序可以处理的数据统称为知识。

可以看到这里对知识的解释和其他地方的解释可能有所不同,我们是基于计算机程序的角度看待知识的问题的,由于一个计算机程序理论上只能处理数据,所以数据是计算机程序知识的基础。

还有从程序的角度理解知识和我们的角度理解知识的结果可能是不一致的,比如我们发送了一封邮件,我们可能知道邮件代表的含义,但程序未必知道,但程序是可以处理邮件的,所以程序的理解和我们的理解可能并不相同。

如何基于知识编程?

基于知识编程的方法的核心是让计算机程序理论上也可以理解任意一个数据,实际上是我们给计算机程序提供了一个理解知识的方法,这个方法是:

知识表示的是事物。
事物是指任何东西,如果一个计算机程序具有理解的能力,那么事物是它抽象出来的第一个概念。

使用一个事物自身或其他事物来解释一个事物的含义。
也就是说如果想要知道一个事物是什么,那么可以用这个事物自己来解释自己,或者使用其他事物来解释它。比如张三是什么?我们可以说张三就是张三,或张三是一个人,都没有错。

把一个事物转化为程序并执行的方法。
类似解释事物的含义的方法,一个事物可以被其他事物解释成程序并执行,这样会形成一个递归,要让递归能够终止我们让一些有限的事物由元系统直接解释执行。
以上三点就是基于知识编程的基本方法,2.的目的是让系统能够解释一个事物的语义,3.是建立程序和数据的关系,即程序本身是数据,程序可以修改数据,因此可以形成程序自我完善的递归。

第五代编程方法的实现

XWorker的X-Meta引擎是使用java编写的,它是以上方法的实现,而XWorker则是运行在X-Meta引擎下的一个实例,XWorker是由各种数据构成的,X-Meta引擎解释这些数据使其成为了一个编程平台。

第五代编程方法的特点

基于知识的编程
知识其实就是数据,所以在第五代编程方法里数据是核心,程序也是用数据表示的。要说明的是X-Meta引擎是使用Java编写的,因此我们还会使用Java和脚本等嵌入的代码作为辅助。

自我完

善的编程
在基于知识的编程里任何东西都是数据,因此新增和修改的数据都属于系统自身,所以通过数据解释成的任何程序和功能也属于系统自身,因此它是一个自我完善的编程过程。
比如在XWorker里编写的任何程序都自动属于XWorker,因为它们都在XWorker里运行,即使打包发布也是把XWorker的一部分拿去打包发布了。

动态的编程
编辑数据和解释数据的过程是动态,理论上可以做到不用重系统就可以实现任何功能。不过X-Meta引擎使用Java实现的,XWorker在某些情况下还是需要重启的。
?其他概念

元系统
元系统指的是第五代编程方法的实现的系统,比如使用Java实现的X-Meta引擎,我们知道不管X-Meta引擎如何理解事物,如何把一个事物解释成程序并执行,最终在执行的是java ,甚至可以说是物理的计算机系统,它们在某种程度上都是元系统。

基于知识的编程并不等价于智能的编程
除非系统具有了这样的知识,目前XWorker还处于基础积累阶段,实际上基于知识的编程的系统初始时几乎一无所有。

自我解释的概念
实际上是哲学中结构主义的一个观点,就是系统的构建不依赖于系统之外的事物,在这里就是系统内部的知识由系统内部的知识来解释,并不依赖于系统之外的事物,系统之内的任何知识都是通过系统内部已有的知识构建的。
因此自我解释想表达的意思是计算机程序系统如何理解一个事物只要依赖它自己,并不需要依赖于我们。虽然如此不过计算机系统还是和我们有交互的,我们可以向其输入知识,但前提是这些知识能够被系统所解释,还需要系统的接口输入知识。

相关文档