You are making a very generic statement by saying "developer state that they use Windows by choice". If you read the entire post, he clearly says that he uses a dual environment of Windows/Linux. He uses Visual Studio which is certainly one of the best IDEs and right now, it only works on windows. So it is not like he is only using windows but he is using what works best for him. He also uses Vim as he clearly explained. Isn't that the point for developers that they use the tools they are most comfortable with ?
I am not a Windows fanboy of course. I know Linux works really well for dev environments but if you prefer to use an IDE for development and not just a simple editor, then I would argue that it is hard to beat Visual Studio. Sure you can program even in notepad. Again, a choice. CLI is not always the answer. But then again, Windows does have Powershell which has evolved well.
I will give you one example. If you are building ASP.NET MVC applications, you really don't have a better choice than Windows as you can integrate it really well within Visual Studio, link with Git and pretty much do everything within VS including deployment. It just works. So there are uses cases like these where Windows makes sense.
> if you prefer to use an IDE for development and not just a simple editor, then I would argue that it is hard to beat Visual Studio
Depends on the language. VS is the best for C++ and .NET, sure, but not everyone writes C++ or .NET. For example, all the best Java IDEs are cross-platform.
"He uses Visual Studio which is certainly one of the best IDEs"
Depends on what you're doing. .NET? Of course. Java, Python, C++, Ruby, etc? Not really.
"If you are building ASP.NET MVC applications, you really don't have a better choice than Windows"
That's like saying if I'm building iOS apps, I don't really have a better choice than OS X. Yes, it's technically possible to do both on other platforms, but in reality, it doesn't happen that often.
One example, if you are using Azure, it makes it very easy to deploy from VS. But again, this is an option and not a requirement. You are fee to deploy however you please.
Just because it's easy, doesn't mean you should. It's a bad habit to get into.
Admittedly, there's still no good deploy solution for C# at the moment that isn't a colossal load of work, but web deploy is definitely not a good choice. It's like MS looked at every single choice and went "Hmm, we'll pick the worst of these two options!".
I will give you a perspective of someone who has used Linux on my main desktop since 1997, but I do keep up to date with other platforms:
VS + C# + Azure integration is excellent, and there is nothing which prohibits turning up a 2nd instance any more so than using AWS, Docker, Chef or whatever your choice may be.
I am also not convinced Visual Studio is a bad habit, as it has many features and tools which are often superior to open source alternatives (debugging, integration, intellisense). I currently use Vim + Golang and Emacs + Clojure; comparatively those environments do not make me biased enough to say VS does not have some incredible upsides.
My assumption is that most people may not have spent enough time with the Windows tools to judge them fairly as we have all been tremendously productive on Linux and there are ideological issues spawned out of the decades of Windows dominance which slant these discussions.
I deploy the old version to new virtual machines and reconfigure the loadbalancer to direct traffic to those instances. Or I do a rolling downgrade, one machine at a time and excludes machines being downgraded in the LB. This takes a minute or so (everything is automated) and there is no downtime.
I am not a Windows fanboy of course. I know Linux works really well for dev environments but if you prefer to use an IDE for development and not just a simple editor, then I would argue that it is hard to beat Visual Studio. Sure you can program even in notepad. Again, a choice. CLI is not always the answer. But then again, Windows does have Powershell which has evolved well.
I will give you one example. If you are building ASP.NET MVC applications, you really don't have a better choice than Windows as you can integrate it really well within Visual Studio, link with Git and pretty much do everything within VS including deployment. It just works. So there are uses cases like these where Windows makes sense.