Writing software on windows is like using chopsticks with mittens. You can do it, it’s not pretty, and it’s not the use case the mitten sewer had in mind during development.
Read the Unix Programming Environment to see the exact opposite mindset for OS design.
I'm just providing a counterweight to the "horrific" description. It was and still is pretty bad if you can't use the modern wrappers. But it served an important purpose and wasn't really possible any other way.
I had a different experience with Visual Studio. The IDE is slow with visible lag when typing, the menus are completely unintuitive for a person coming from Linux.
Creating a "solution" (who came up with that word?) is absolutely horrible compared to just opening a file in vi/emacs.
There does not appear to be a command line debugger -- while the debugger is good, graphical debuggers are a pain to use.
Read the Unix Programming Environment to see the exact opposite mindset for OS design.