File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Ruby and the fly likes Origins of Meta-Programming Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Ruby
Bookmark "Origins of Meta-Programming" Watch "Origins of Meta-Programming" New topic

Origins of Meta-Programming

Hussein Baghdadi
clojure forum advocate

Joined: Nov 08, 2003
Posts: 3479

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.
Paolo Perrotta

Joined: Mar 27, 2010
Posts: 27
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.

Paolo Perrotta, Europe
Author of Metaprogramming Ruby
David Newton

Joined: Sep 29, 2008
Posts: 12617

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).
I agree. Here's the link:
subject: Origins of Meta-Programming
jQuery in Action, 3rd edition