> Instead, this about the right tool for the job. (Could you imagine woodworkers getting into heated arguments about whether a screwdriver or hammer was better?)
That would be about as insane as a woodworker writing a blog post about 'leaving the screwdriver' :)
I know "the right tool for the job" is some sort of unchallengeable divine hacker slogan, but I've never seen that slogan solve a problem. So maybe it isn't the right tool for this job.
1. A whole team must use a given stack, so it's more akin to trying to get your whole band to switch to amplified so you don't drown them out with your electric guitar.
2. For continuously supported and developed projects, you're in it for the long haul, and rewrites can become a daunting enough task to actually kill a company, so that first choice of software stack for a little project can start to look pretty significant. Who knows which quick and dirty little web app will end up bloating to a million lines of code and running a company for the next twenty years? I guess the music metaphor for this part is forming a punk band and realizing years later you wanted to play Bach, and trying to get your guitarist to switch to violin, etc.
Edit: my fun C# anecdote of the morning is I just got to deal with how new TFS branches can end up quietly running your Main branch code due to cruft in your Windows user folder. Thanks, Microsoft! http://stackoverflow.com/questions/15818364/vs-2012-launchin...
I do wonder though if teams with a choice pick C# or is the use of C# dictated just because the enterprise is bought into the MS ecosystem?
I bet most probably leave C# just because they leave the company that is bought in, not because they no longer like it. You code where the money is.
While it's great, in theory, to have broad skills in many different languages and technologies, it is difficult to be an expert in any of of them without working with them for a significant amount of time.
When I start a new project I'm looking to leverage my expertise in my areas of focus rather than trying to find the perfect technology fit. Without significant knowledge in all options, I may not even be qualified to provide a reasonable evaluation.