metaprogramming

Programs manipulating programs

Metaprogramming is writing code that writes, modifies, or generates other code.

A metaprogram treats programs themselves as data to be manipulated—creating functions dynamically, modifying behavior at runtime, or automating repetitive coding patterns.

Common in languages like Lisp, Ruby, and Python: The framework uses metaprogramming to generate database queries from class definitions.

Template systems and code generators are metaprogramming tools.

generation

macros

Automated command sequences

hygiene · compile-time · staging · quoting · unquoting

reflection

introspection

Observing one's own mind

eval

runtime

eval

Execute string as code

just-in-time · interpreters

type-systems

generics

Unbranded equivalent products

polymorphism

Opposites
automation vs. manual effort

metaprogramminghardcoding

Fixed values in source

Family

program, programmed, meta, programmer, programming, programmers, reprogram, reprogrammed, programmable

Familiarity
Top 1,000,000
Profile
Used worldwide · Timeless · Abstract · Rated G