Well I didn't expect to jump right into a vigorous discussion about language, but I'll give it a stab. I came across the following article Why Ruby is an acceptable Lisp . As expected the Lisp guys jumped up and shouted "Ruby is NOT a Lisp" with their typical disdain for anything not Lisp. Then followed the expected obscure examples of what Lisp can do and why the Ruby version is *obviously* inferior.Don't get me wrong, Lisp is by far my favorite language. I am completely sold that technically Lisp is much better than any other language out there, including Ruby. Despite Lisp's technical superiority it remains a small community while other languages flourish and prosper as they pillage features out of Lisp.What interests me are a couple of things:1 - Why is a language like Ruby taking off while Lisp continues to languish in relative obscurity?2- What is the appropriate trade off between populariy and power?First, why is Ruby flourishing instead of Lisp? To answer that we have to look at what is fueling Ruby's growth. Ruby On Rails seems to be the primary motivator, Ruby was around for years before Rails was born but it remained a very small community until Rails came along. It's interesting to note then the primary catalyst for Ruby's increase in popularity was a framework written in Ruby, and not the core syntax of Ruby itself. What initially attracted me to Ruby was definitely Rails and it's promised increase in productivity. Perhaps part of the problem Lisp has always had is that "you can do that in Lisp too". Many people can and do write similar frameworks to Rails in Lisp and other languages. While Rails brought me to Ruby it was the power, expressiveness and general clean feel of the language that kept me, instead of defecting back to Python when TurboGears was released.Further I didn't stumble on to Rails, it came roaring onto the scene. I came across a bold, audacious claim that got posted to Slashdot. David Heinemeier Hansson made the in your face claim that you could improve your productivity by 10 times if you switched to Rails for your database development work. It wasn't just this one article either, Hansson was a wonderful and provacative evangalist for Rails and Curt Hibbs wrote several great introductory articles. Most programmers weren't sitting around going "I am so sick of Java, I need to find a better way to do this..maybe I'll try Ruby" Rather when Rails was released Hansson practically hit them upside the head with the superiority of Rails. Now I'm not claiming most Lispers aren't touting the superiority of their language (I'd wager they have that part down pat), instead I'm saying Lisp needs a better coordinated and more concerted marketing campaign and a product to sell to people beyond core language features. Additionally Lispers would do well to offer a warm and welcoming environment to newcomers.Now to the second question, what is the proper trade of between popularity and power? I'm going to let you in on a little secret, when I first came to Ruby On Rails the framework wasn't that great. The idea behind it was fantastic, but the implementation was far from complete and it definitely lacked consistency. Of course this is to be expected, it was a very early release and I didn't expect it to be a polished completed framework. What it did have though was momentum. To me this is the key issue. When it comes to core language features you want to have the most powerful language you can get. However when it comes to frameworks and libraries, popularity definitely matters.It's not so much that I mind writing certain features in Lisp, it's that I don't want to have to write those features at all. For an entrepreneur trying to get a product out the door it seems like a mistake to start in a position where you have to implement a major framework in order to be able to compete effectively. If you enjoy that type of thing, why the crap aren't you writing the full stack Lisp On Rails equivalent? Instead, Lisp has the same problem that Python did before Rails came out, it's not the lack of frameworks, it's the lack of a good integrated framework that is easy to setup and get running.Something I have learned from books about positioning your product is that you can typically only occupy one place in the consumers mind. You must occupy a niche if you will. The best way to invade a fortified position is through a concentrated attack on a weak part, rather than a generalized attack at all points. If you can do that you will be successful at driving adoption. This advice seems to hold up to real world observation as well. How does this apply to programming languages? Let's see:Fortran: scientific and mathematical programmingC: Operating System programmingC++: Object Oriented CJava: Safer and more object oriented version of C++C#: cheap knockoff of Java (sorry couldn't resist ;) )Visual Basic: A Beginners LanguageJavaScript: scripting language for the webPhp: dynamic web programming languageRuby: (with Rails) powerful database backended website languageLisp: AI?Scheme: Teaching languageOf course this list may not be fully accurate, and I could've gone on much longer, but I think you get the point. Those are the positions those languages seem to take in most people's mind. If Lispers want to drive adoption, they need to build good complete frameworks and I suspect they really need to address the issue of positioning in the mind of the consumer. On the other hand, it's also possible that many Lisp programmers enjoy the position of martyr for a tragically misunderstood language.