Origins of Meta-Programming

Hey,
Which is the first language that introduces the Meta-Programming concept?
I thought it was Ruby but it looks Objective-C and LISP offer Meta-Programming long time before Ruby.
Thanks.

Paolo Perrotta

author
Greenhorn

Posts: 27

posted 7 years ago

I'd say that Lisp is still the paragon of metaprogrammable languages. However, be advised that "metaprogramming" in Lisp is so different than "metaprogramming" in Ruby, that you might give them different names. You can bend Lisp's syntax with macros, while Ruby relies on you manipulating scope and the object model.

Lisp has CLOS, which has a MOP, and provides metaprogramming beyond macros. Lisp itself isn't intrinsically OO, so the distinction is somewhat apples-to-oranges. Once you add CLOS (itself implemented in CL), we're back at parity (IMO).