If you were hiring a programmer, or evaluating potential team members for your software project, would you expect them to know any programming languages besides the one required for the project? If so how many programming languages, how different from the one chosen for the project at hand, how well, and why?
There is no set number of languages a developer should know to be considered competent. I would be suspicious of someone who only knew one language - it tends to indicate that the person is not interested in adding tools to their toolbox and perfecting their craft.
Would you hire a carpenter who showed up at your house with only a hammer? No, you probably wouldn't. What is the right number of tools for a carpenter to have before they are considered competent? More than one and less than infinity.
If the developer in question knows many tools but all those tools are framework-centric (like the MS web stack or RoR and its related utilities) and clearly has mastered their domain I think that is okay. It's not ideal (I think that to best understand any domain there is much to be learned by stepping outside it every once in a while) but that developer can often be very effective on a project that needs just those skills.
How many projects require just one language these days?
If you're doing a web project, it's good to know the back end language, HTML, CSS, JavaScript, XML, jQuery, an AJAX library, etc. That's reasonable, IMO.
When I'm looking at resumes I'm looking for breadth of experience as well as the particular technologies I'm interested in. Knowing more than one language means that the developer is more likely to be able to think laterally and come up with better solutions because they have more resources to draw on.
Having said that I've also seen resumes which go to the other extreme. For example I remember seeing a resume from someone fresh out of university who was claiming to be an expert in over 12 languages. He might have used 12 languages, but it was extremely unlikely that he would know them well enough to really claim that level of expertise.
This is a really vague and a subjective question but I'll have a crack at it.
You're kinda asking a chef how many meals he should know how to make, and if he should know any Spanish meals even though he works at an Italian restaurant.
Take me for example, I'm a .NET + Front-End developer.. And here's a summary of the languages I write in. Hopefully it should give you an idea.
ASP.NET, C#, T-SQL, HTML, XML, XSLT, CSS, Javascript, jQuery
I've previously been exposed and have worked with others such as PHP, Objective C, and many many more :)
It really doesn't matter how many languages someone knows, but as Andrew Hare stated, any true programmer would know at least a few languages.
What is important is if your programmer knows the languages necessary to complete a job. If you're doing a web project, the programmer should know at least HTML, CSS, and Javascript, and probably a server-side language such as PHP or ASP.NET.
For desktop applications, it is more important that someone knows a programming language well as opposed to multiple languages, as most projects would use only one language.
Hope this helps!