关于元数据以及元编程

元数据

其实元数据也就是「关于数据的数据」,举个例子

我的电话是 +86 123 4567 8910

这是一条数据;

+86 123 4567 8910 有十三个数字和一个字符,前两位是国家代码,后面是一个移动电话号码

这是关于上面那条数据的数据。

西方哲学界在几千年中渐渐赋予该词缀一种全新的意义:「关于某事自身的某事」。

比如:

meta-knowledge 就是「关于知识本身的知识」;

meta-data 就是「关于数据的数据」;

meta-language 就是「关于语言的语言」;

meta-programming 也是由此而来,是「关于编程的编程」

元编程

只要是与编程相关的编程就算是 meta-programming 了。

若编程甲可以输出 A - Z,那么写程序甲算「编程」;而程序乙可以生成程序甲(也许还会连带着运行它输出 A - Z),那么编写程序乙的活动,就可以算作 meta-programming,「元编程」。注意,程序甲和程序乙并不一定是同一种语言,这时候编写程序乙的语言就被成为「元语言」。

所以 meta-programming 更狭义的意思应该是指「编写能改变语言语法特性或者运行时特性的程序」

更直白的说,就是「编写把要执行的代码当文本进行操作的代码」。

参考资料

怎么理解元编程? - 知乎

上次更新: 12/26/2018, 6:54:18 AM