元编程 元編程英語Metaprogramming又譯超編程是指某类计算机程序的编写这类计算机程序编写或者操纵其它程序或者自身作为它们的資料或者在编译时完成部分本应在运行时完成的工作多数情况下与手工编写全部代码相比程序员可以获得更高的工作效率或者给与程序更大的灵活度去处理新的情形而无需重新编译 编写元程序的语言称之为元语言被操纵的程序的语言称之为目标语言一门编程语言同时也是自身的元语言的能力称之为反射或者自反 反射是促进元编程的一种很有价值的语言特性把编程语言自身作为一級資料類型如LISPForth或Rebol也很有用支持泛型编程的语言也使用元编程能力 元编程通常通过两种方式实现一种是通过应用程序编程接口APIs将运行时引擎的内部信息暴露于编程代码另一种是动态执行包含编程命令的字符串表达式因此程序能够编写程序虽然两种方式都能用于同一种语言但大多数语言趋向于偏向其中一种