As someone who has a love/hate relationship with MS, I feel your pain. I've found as long as you stick within the MS family, all is well. Try to deviate from that pseudo-walled garden and its brutal.
For instance, doing Python or Ruby or ROR on a windows machine? No way. I just started doing more MEAN (Mongo, Express, Angular, Node) stack stuff and after several days of cursing the heavens and trying to figure stuff out on my Windows 7 PC, I just said screw this and went to my box running Linux Mint and within 15 minutes was up, running and coding.