Everything About ___
Live briefing

Everything about Metaprogramming

Programming paradigm

Metaprogramming is a computer programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyse, or transform other programs, and even modify itself, while running. In some cases, this allows programmers to minimize the number of lines of code to express a solution, in turn reducing development time. It also allows programs more flexibility to efficiently handle new situations with no recompiling. Wikipedia →

🧭 Start here: a 6-step reading path

  1. Read the overview: MetaprogrammingA 5-minute orientation
  2. Skim a recent paper: Generating C: Heterogeneous metaprogramming system descriptionInfluential work since 2022
  3. Pick up a classic book: Metaprogramming GPUs with ShThe most-reprinted book on the subject
  4. Read the landmark paper: A metaprogramming framework for formal verificationCited 63 times
  5. Go sideways: List of programming languages by typeA closely related topic
  6. Go sideways: Domain-specific languageA closely related topic

📖 Definitions

Noun The writing of computer programs that write or manipulate other programs or themselves as their data, or that perform operations at runtime that would typically be done at compile time.

🏆 Landmark papers (most cited)

🆕 Influential since 2022

📚 Books worth reading

Ranked by number of editions on Open Library, a rough measure of how lasting a book is.

🔗 Related topics