Here's an interesting technology question that's come up. Right now we have our main product built in ColdFusion. We hate it, primarily for performance and stability reasons - finding it difficult to scale it and keep it running consistently. Is that because of operational issues, or just bad codebase? Dunno.
For a handful of random projects we've used Ruby on Rails. Most notably this includes our Facebook application.
We've already decided to make the move toward a more service oriented architecture, with .NET being the backend.
The question came up today, "Does that mean we have to use .NET as the front end, too? Why?"
Good question. Technically no, I suppose you don't. If you're doing proper services on the backend then you can use a variety of client technologies. But then the question is, which one?
.NET is the logical choice purely out of convenience. You're going to have a team of developers in VisualStudio all day, so why make them have two entirely different development environments? That seems like the way Microsoft took over the world back in the 90's -- yeah, our product X isn't really that good, but you're already using product Y, and they work nice together, so why not just go with it?
Rails would be a bold choice, since this would mean putting the company's main revenue source onto the technology instead of just the occasional side project. It's one thing for one guy to bang out Ruby code as needed, it's another for an entire team to develop a product in it.
What about ColdFusion? If relegated to just the front end, would it be a viable option? Would the scalability and stability problems go away if we took 90% of the code out of it and started over?
Would you bring PHP into the mix, where it currently does not exist? What about Java? The product's not technically in Java now, but ColdFusion runs on a Java app server and most of the coders here are proficient in it. So that, too, is an option.
Without a better case for something else, right now .NET is going to win. It'd be nice if it didn't, though.