Eric Kidd has an interesting post entitled “Why Ruby is an acceptable LISP”.
As it turns out, Ruby compares well as a functional language, and it fakes macros better than I’d thought….
Now, given a choice between a powerful language, and popular language, it may make excellent sense to pick the powerful one. But if the difference in power is minor, being popular has all sorts of nice advantages. In 2005, I’d think long and hard before choosing LISP over Ruby. I’d probably only do it if I needed optimized code, or macros which acted as full-fledged compilers.
Interestingly, I know a number of Smalltalk people who had a similar attitude about Java, until they started using it more. 😉
Interestingly, most of the properties discussed are actually properties of Smalltalk and pretty much any OO language with MOP support. The irony of this is that a lot of LISP’ers and functional programmers in general looked down on purely OO languages, despite the fact that many of them actually make doing a lot of functional programming techniques quite straightforward.
Interesting, I seem to use the word “interestingly” far more than I should. 😉
Interesting.