If you, then you should head on over and read this article on how to become a better programmer.

Seriously. This is by far the most approachable article that I’ve read to motivate why Lisp is still the gold standard of language design. It does so in a very non-threatening way by way of XML and Ant, as well as the C preprocessor and code generation. He even mentions data access layers, C# and LINQ to prove that he’s not living in a shack in the wilds of Montana.

Perhaps the most insightful part of this article is the realization of why XML enabled Ant to become so popular. XML is enormously flexible (at the cost of being enormously verbose), and it permitted the injection of new semantics into the build language, that would not be as approachable using Java alone.

Once you’ve read (and understood) this article, you’ll be well on your way to understanding why metaprogramming and domain specific languages are so powerful. This will make you a far better programmer even if you use a relatively pedestrian language like Ruby :)

If you want to read more about Lisp, you can begin by reading this wonderful online book.