Hacker News new | ask | show | jobs
by wkey 2310 days ago
So what is your definition? :)
1 comments

I can think of two definitions:

1) a higher level of abstraction. For example, creating a class is programming. Creating a class factory (a class that creates classes) is meta programming.

2) self referential. The movie Adaption is meta, because it is about itself.

I would not call 1 metaprogramming. Meta means something like "outside of". Metaprogramming usually means higher order programming (programs that produce programs, such as source generation, lisp macros or templates).
Okay. It’s outside my area of expertise, so maybe I didn’t pick the best example. The internet seems to imply that there is a lot of debate as to what is meta programming.
This article is about the metagame, which is derived from this meaning. It just gets confusingly shortened back to meta in some contexts