Good programmers have no problem learning a new programming language.
I would disagree. I consider myself far beyond just "good", and I have definite troubles wrapping my head around functional programming - monads, currying, etc. I get the concepts, but there still remains a disconnect for me to get to a deeper answer to the question, "why???"
Ok, that'll teach me not to be glib. I think I'm a good programmer, and of course, you're right that not everything comes easily to me. I guess my point is that learning a new programming language is primarily useful only if it achieves something concrete. I've recently enjoyed using linq (not a programming language I suppose) for a utility I was writing and it took me a while to wrap my head around it. In the end, I was thrilled that using it simplified my program significantly. So there was a reason to learn it, I spent the time to learn it because of that, like a good programmer should. To me, the choice to learn something new when it will provide concrete benefits is what makes a good programmer, rather than the converse, suggested by this question, that learning a new language for the sake of learning it makes you a good programmer. Anyway, I guess I'm rambling.
Anyway, great to hear from you. (You wrote nice things about the first article I contributed to CP 8 years ago ).
C/C++ (haven't done too much pure C)
VB.Net (in theory, I haven't tried to use it in years)
Probably more, those are just the ones off the top of my head. I don't have much trouble picking up a new language, I can usually get the basics down in a few hours. (Though I'm only fluent in C/C++, C#, Java, and Python, because I use those ones regularly.)
a bit of Java
sql (if xml and css count so does this)
I clicked "Simply no desire to learn another language", because unless I need to learn a new language for a job, or a new project, I don't have the desire, all of the above I learnt because there was a need.