元编程的一个关键策略。
历史背景.早期计算机的原生汇编语言本质上就具有反射特性。因为这些最初架构可以通过定义指令作为数据及使用自修改代码来编程，实现反射功能是很平常的。编程发展到使用编译型高级语言如Algol、Cobol、Fortran和包括Pascal和C在内的很多其他语言时，自修改代码等实践很大程度上消失了，直到将反射特性内建入类型系统的高级编程语言出现后才再次提供了反射功能。Lisp语言家族以具有同像性作为标志性特征，可以认为具有反射性。1982年，在其博士论文《编程语言