A while back, after reading some blog posts by people on either side of the perceived Java/Ruby rift, I reached the insight that they can't find common ground because they have different values for the choice of programming language. Thus, using the flashiest title possible, what we have here is a clash of programming language civilizations.
Kevin Barnes' Code Craft blog, which I have favorable first and second impressions of, seems to express the same conclusion in the entry Freedom languages. But rather than two civilizations with two sets of values, there are two kinds of languages: freedom and safety (but note the section at the end entitled "Safety isn't safe and freedom isn't free"). Freedom languages encourage the programmer to do whatever he or she wants, and safety languages restrict the programmer or code in some way, whether to enforce contracts or teamwork or performance. I like the distinction because it's more general than the usual litmus test of static-vs-runtime data typing, which falls down in cases when a language offers both options.
Bonus link: I commented about Web continuations and Rife. Read here about why the idea may not be as spiffy as advertised.