- For those who have never played with a functional programming environment, an easy way to do so is to use this web-site. It's been around forever; I used it over a decade ago! But it's a very easy online tutorial for the Lisp functional language. It has the additional virtue of learning what you know and what you don't.
- After you've played with this a bit, you'll be in good shape to start learning Clojure. That way, you can get access to the whole ecosystem of Java, while still retaining the best of what Lisp has to offer. Go here for practice.
- Use this web site, to learn more about Clojure.
- Break your head against Monads. Google "Monad Tutorial" & work your way through them, in the vain attempt to find one that really explains clearly and simply what they are & why they are so useful & how you're going to get 10x the productivity by using them. When you find one, please let me know.
If you find me ambiguous about Clojure, it's because I kind of like it, but I find it a steep learning curve. And I haven't been able to get to the power level of that curve yet. Your mileage may vary.
Still, it's excellent to break out of your paradigm and explore another language. "A new language a year" is one of the tips I've seen for staying "Technically Fit." So, playing a bit in the functional realms is definitely a plus for getting you out of the Object Oriented world.