First of all, the components of code quality are familiarity with the task, with the language, and with the toolset available apart from the language. Once there is passable knowledge of a sane programming language, that is the least important element for productivity (if you need to be a wizard to get anything done, then that suggests that libraries or the language are not sane).
So, next of all, one would choose based on what support there is for the kinds of tasks one needs to do: in general, any environment that requires less boilerplate is going to be more productive.
Finally, one needs to consider the tradeoffs between using a new, more desirable element (language, tool, or library) as against the costs of doing that. If the team does that task all the time, then upgrading is likely to be valuable; by contrast if the team is in a state of chaos, the costs may be particularly high.