The way it actually works out at Microsoft, relative to the rest of the world, is something like this:
Different people, groups, and organizations implement different technologies. When something new crops up, it is created as a new and separate technology, often in a manner not particularly related to preceding technologies. As such, each technology evolves only gradually along a long-term arc, with a community that grows and ultimately fades away along that arc. People who want to jump to a new technology do so by jumping from one of these arcs into another; those who are doing well with the technologies they're currently using stay where they are, continuing to follow the arc they're currently following. When they do choose to make the jump to a new technology, they get to choose which technology from among all the available options. They can do so in a piecemeal way, too, because of the fact that the various technologies involved are not tightly integrated to each other.
Those who are focused on the Microsoft technology stack, however, do not operate in such a flexible environment. Instead, Microsoft tries to be all things to all people, and does so by driving the entire stack forward, about three generations of technology behind what the separate independent individuals, groups, and organizations mentioned above are developing. The Microsoft platform/stack users are also not given a choice of what new technologies to pick up when they decide to move forward; they get whatever Microsoft gives them. They aren't even really allowed to decide they want to move forward; they are only allowed to decide when it has gotten too unprofitable to stick doggedly to what Microsoft has already deprecated. The choice to simply move away from Microsoft technologies is not exactly easy to make, either, the way it's easy to pick up new technologies outside of the Microsoft world, because everything is so tightly integrated in the Microsoft world that a growing dependence is enforced by the fact that piecemeal migration is made as difficult as possible; it's almost always necessary to replace everything all at once, which is obviously going to rub a lot of people the wrong way. Occasionally, circumstances line up so that the opportunity to make such a big migration suddenly comes together, and I think it's generally a bad idea to pass that up; in a short time, that window closes, and you're back to being stuck, if you don't take the chance when it arises.
Unfortunately, a lot of people who develop with Microsoft technologies have become so familiar with it that they start to think it's pretty much all there is, and never even really look at the outside world, and don't really recognize the differences between the Microsoft world and the rest of the world.
Keep Up with TechRepublic