Best case scenario, is he has been using the wrong tools to solve the problems he works on. But can't admin his own fault.
If anything, what I'm working on now would be downright impossibly complex and infuriating if written in Python (his example of a language and ecosystem).
To me VS.NET is incredible. The .NET framework is incredible. And documentation and information is readily available. But more importantly, the problems I'm solving can't be more easily solved using another stack.
And every time I blame one of the above, a few days later I realize that the real issue was just a stupid mistake I was making myself...
As an example, just the other day I was using a BackgroundWorker (new thread) to do some work outside the UI thread. I needed to do 3 or 4 tasks and decided to re-use the BackgroundWorker for each task (instead of using a new one each time).
Of course problems started showing up. For a while, I was convinced that VS.NET was debugging on the wrong thread, and that there was an issue with re-using BackgroundWorkers in NET. I mean I'm a good programmer, it can't be possibly my fault!
Basically, I forgot to unsubscribe to the BackgroundWorker events. Which caused the previous DoWork attached anonymous functions to run multiple times.
.NET is the way Windows applications are built. VS.NET has no rival on this platform. And this stack is not any weaker because people such as the author leave us. Referencing a few negative blog posts does not prove .NET is dying and that "developers are leaving for greener pastures", which by ALL METRICS is completely not true. If the author wants to think that Python and whatever other choice of IDE will now solve his pain... Then let him eat his cake.