Depends by what you mean a 'large' team. I'd say the larger the team, the more I'd prefer a strong, powerful static type system that allows for rapid iteration without fear of breaking the existing codebase. At a certain scale though (probably thousands of developers), the fact that you need to hire some ratio of experts in the language for every so many green to the language means something like Haskell or Scala might not be worth the trouble.<p>I certainly think the more static typing the better though.
As always, it depends. Team makeup, churn rate, domain, etc. all make a difference. If you have a team of Scala experts, then lean towards Scala. If you have high churn, then stick with an "easy" language with a small learning curve. If you're working on embedded devices--well you don't have many choices. If you have extreme correctness requirements, then you should lean towards languages with extreme type systems and formal verification tools. If you work closely with research scientists, perhaps use a language that fosters collaboration. If your company politics value conservatism and risk aversion, then pick politically-safe languages for the sake of your career and sanity.
The larger the code base, the more important IDE integration is for on-boarding.<p>The more experienced the team, the less important IDE integration is.<p>When in doubt, choose prolog.
Depends on what the project is. Use the best language for the job and make sure you're aware of the languages strengths and weaknesses. Utilize the strengths and develop tools/procedures to mitigate the weaknesses.