http://www.google.com/groups?selm=m3wuy01a4u.fsf_-_%40khem.blackfedora.com
If you learn Lisp correctly, you can grok all programming styles with it: procedural, OO, predicate, functional, pure or full of side-effects. Recursion will be your friend, function references your allies, you will truly know what a closure is, and that an argument stack is actually a performance hack. You will see that the most elegant way to solve a problem is to create a custom language, solve the generic problem, and have your specific one fall out as a special case. You will learn to truly separate intent from the bare metal, and you will finally understand the two deepest secrets, which are really the same secret, which we tell all, but so few understand, that code and data are the same thing, but organize your data and your code will follow.
Programming is a great hobby and a really good career.
But if you want wisdom, if you want to know what it means when someone says "elegant", if you want to touch the Magic, read the Wizard Book.