Most of the time, the factually correct answer to "why did you choose to work with Language X?" is "because when I arrived on the job, the existing software was implemented in X".
Is that a well-reasoned opinion? "I'd like to pay the rent this month" is a good reason. "The company doesn't have the time to reimplement working software on a different platform" is a good reason.
Of course, a well-socialized programmer understands that these answers, while truthful, are insufficient, and will have duly memorized a stock answer like "You pick C when you really need runtime performance and don't mind all the segmentation faults, otherwise you pick Java."
Sure, that factually correct answer is fine, but you've changed the question to something less insightful. It wouldn't make sense to ask a candidate why they used language X for project Y unless they had a choice the decision. Most people don't. I know that.
If you gave me that "stock answer" I'd ask followups. This isn't a trivia question with a secret "right answer" password.
And hey, it's not the Worlds Greatest Interview Question, but I like it a whole lot better than "explain Quicksort" or "write out pseudocode for calculating a checksum on the whiteboard"
Is that a well-reasoned opinion? "I'd like to pay the rent this month" is a good reason. "The company doesn't have the time to reimplement working software on a different platform" is a good reason.
Of course, a well-socialized programmer understands that these answers, while truthful, are insufficient, and will have duly memorized a stock answer like "You pick C when you really need runtime performance and don't mind all the segmentation faults, otherwise you pick Java."