And the winner is ... Clojure!
- (namespace) encapsulation
- delegation (polymorphism?)
- properties (by Steve's definition)
- serialize to source
For Emacs Lisp:
I first picked up Clojure looking for many of the same things that Steve wants. I found them. Clojure can do all the things on both lists above. (Serialize to source isn't formal yet, but check the mailing list. And of course, you will have to judge "momentum" for yourself.)
The scary thing is that Clojure wins the language war before you even learn about its signature features. When I started exploring Clojure, I quickly realized it had everything I wanted, which could be summarized as "Lisp that really embraces the Java platform."
Then Clojure changed the definition of what I wanted. Now I also want
If you have half an hour, watch a compelling vision of what software development will look like in 2010.