With rails or php, developers can use the editor and the OS they want. With .net, you're "forced" to use Visual Studio and Windows.
Also, I feel like .net teams are a bit closed to the rest of the programming community. Lots of C#/C++ programmers think that everything that is not C#/C++ is a joke or a little scripting language. "Omg, I would never build my 2D game on Python and save 100 hours" - says the C++ developer.
Also, startups and big companies think and act really differently. The mentality of a startup is: "Go faster!!" while the big company is: "Don't screw up or you're out". I know it's not that black and white, that's just a simple way to say it. But basically, the python philosophy is "Programmers are smart and they'll do their best to use the library correctly" while the C++/C# mentality is: "Imagine that an idiot will use your library so play it as safe and defensive as possible".
Finally, I feel like C# is like a big package deal. Maybe I'm wrong, but I feel like it'd be hard to use CoffeeScript or Compass (for instance) with a C# project. And, it's not that much about the technology, but the mentality of the big company. From my experience, I know that had I told my boss: "I'll use CoffeeScript", he wouldn't have understood why.
>while the C++/C# mentality is: "Imagine that an idiot will use your library so play it as safe and defensive as possible".
That may be the C# mentality, but the C++ mentality is generally speaking "We'll have some guys on the team build the tools of gods, then everyone else will use their classes following their coding standard".
Or the mentality is "wtf are all these bugs"
C++ is only possible really in environments with strict standards and the ability to fire those who don't or can't follow them.
To your last point, with the nuget package manager it's becoming easier to integrate the latest and greatest into your projects. For example, here's a nuget package that makes sass and coffescript a 'one click install' in your asp.net project: http://blog.paulbetts.org/index.php/2011/05/16/announcing-sa...
But like you mentioned, being easy to integrate isn't enough, you'd still have to justify it, which in a big company is more difficult than a start up.
Also, I feel like .net teams are a bit closed to the rest of the programming community. Lots of C#/C++ programmers think that everything that is not C#/C++ is a joke or a little scripting language. "Omg, I would never build my 2D game on Python and save 100 hours" - says the C++ developer.
Also, startups and big companies think and act really differently. The mentality of a startup is: "Go faster!!" while the big company is: "Don't screw up or you're out". I know it's not that black and white, that's just a simple way to say it. But basically, the python philosophy is "Programmers are smart and they'll do their best to use the library correctly" while the C++/C# mentality is: "Imagine that an idiot will use your library so play it as safe and defensive as possible".
Finally, I feel like C# is like a big package deal. Maybe I'm wrong, but I feel like it'd be hard to use CoffeeScript or Compass (for instance) with a C# project. And, it's not that much about the technology, but the mentality of the big company. From my experience, I know that had I told my boss: "I'll use CoffeeScript", he wouldn't have understood why.