This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
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

Win a copy of REST with Spring (video course) this week in the Spring forum!
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
It's not a secret anymore!