All viable computer languages represent a Turing machine, so they are all the same, right? So, if I am comfortable with Java, that's all I need.
Wrong. Much like spoken languages, some computer languages can communicate ideas more easily than others. Learning a weird new language does more than "add a new tool to your toolbox": it can add a new idea to your mind. Learning Ruby/Lisp/Groovy/APL not only makes you a better developer in that language, it makes you a better developer in every language you know.
And now we turn it over to Joel...
Without understanding functional programming, you can't invent MapReduce, the algorithm that makes Google so massively scalable.
@ Can your programming language do... this?