There’s a great quote from Linus Torvalds who, when replying to someone who emailed him asking why Git was written in C vs C++ he went ahead and explained why technically but added: ”Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C.”  Later, in that same email, he adds: ”I’ve come to the conclusion that any programmer that would prefer the project to be in C++ over C is likely a programmer that I really would prefer to piss off, so that he doesn’t come and screw up any project I’m involved with.”
I don’t know about you but that helped me realize why I tend to be so adamant about the language I prefer to use on my startup or on any side-projects. It’s about a certain mentality and programmer profile more than it is about the language itself. Honestly, I’m no expert in any language but if there’s one thing I do well is observe, spot patterns and profile people. I rather choose a language that attracts developers of a certain profile. More importantly, I rather choose a language that attracts the right kind of developer.
Code can be rewritten. Yes, it’s work which means it’s money but, I rather spend time rethinking and rewriting code with the right kind of team and mentality than having a bunch of experts that can’t work together and can’t see past their personal choices.
Rewriting code is hard but the only thing harder is rewiring people. Choose your language to achieve that initially. Piss the wrong type of people off first; worry about the best language later. You’d be surprised by how often you may never have to.