Technology choices
chipsy: Microsoft has a history of rapidly deprecating their technology platforms, leaving your old code unable to access new APIs. In the past this was good for their business because competitors couldn't keep up with changes in the MS ecosystem(and each new iteration of Windows could make sweeping changes, since the market was growing so fast), so forcing developers to move in lock-step with the MS toolchain was another way to preserve the monopoly.It's this legacy, plus the non-free nature that makes it hard for developers to do their own maintenance, that causes aversion to MS tech.Today you have a lot of freedom to make technology decisions that go beyond performance requirements and platform APIs. It's just a matter of how long-term you want to make your codebase. If it's disposable code, it really doesn't matter. Unfortunately, "disposable" projects often become mission-critical later.