What do you use?
My second choice would be a Mac with macOS. I personally haven't seen anyone in past ten years or perhaps more using Windows, let alone for programming at any businesses I worked at. Whereever I went, everybody's using Macs with macOS to do development. Is Windows even still a thing, or are you looking to explore Windows programming as a curious hobby past-time?
I'm sorry, but this is the archetypal "living in a bubble" comment (that is becoming very common on HN lately).
First of all the OP didn't ask "which is the best OS for development", there's probably a good reason he/she needs to work on windows.
And second, wondering if windows is still a thing for development and assuming macs are the standard, is absurd and detached from reality. I'll refrain from guessing your line of work (although I have my suspicion) but I'm pretty sure you never worked e.g. in electronics, sensing, finance, etc.
The latest stack-overflow developers survey doesn't seem to agree with you. Maybe its just in your locality that windows doesnt exist?
https://insights.stackoverflow.com/survey/2019?utm_source=so...
For example, 51%-something self-identified as "full stack" developers, yet most people fall into three to five years of experience. If I tell you that "full stack" means one is capable of designing one's own server hardware, network and infrastructure all the way up to writing application software, it becomes apparent that people who identified as "full stack developers" don't even rightly know what that means yet they obviously at three to five years of experience think that they do. And now we're right back to pathological ignorance specific to computer industry. Or are all those people geniuses who learned hardware engineering, application programming, network, system and database administration in three to five years, something which normally takes decades of apprenticeship under dedicated mentors to master? These surveys are nonsense, waste of disk space and electricity. Trust, but verify, that's the lesson here. And think critically for yourself.
If you doubt that Windows has serious users, it means that you live in a very low diversity bubble of non-Windows users, presumably a bubble of Mackintosh-only workplaces and generic Linux cloud servers.
Then, why should anyone give any weight to your objectively uninformed opinions about Windows? You must admit that, compared to you, the crowd of Stack Overflow users is an "authority" because it includes actual Windows users.
And I haven't worked anywhere in the past 10 years that wasn't 90+% Windows. Hell if I was just to go on what I see at work, Linux is more popular the macOS.
* Total Commander - good for handling files / folders, working on remote locations (SFTP, FTP, ...), perfect all-round-tool * Notepad++ - perfect for text editing, also on remote locations, lot of plugins available to cover different needs * Docker - of course, but mainly for developing web apps * iTerm2 - on my Mac I am using this as an SSH-client, this rules out every other SSH client I know and it's free, on Windows I am using MobaXTerm, paid version
I like to use ConEmu as my console for WSL. You can also check out Cmder.
It's very rare that I need to do something that WSL can't handle well (any challenges are typically related to I/O, networking, or GPU).
IntelliJ as my main IDE (my primary languages being Java, Typescript/web stuff, and Python).
Sublime Text for quick text editing. Vim in WSL for quick code editing or some other languages (mostly C).
Also though not directly related to your question but in case you're running Windows 10, then do take a look at this little gem: Windows 10 uninstaller (https://www.thewindowsclub.com/10appsmanager-windows-10). The amount of crap win 10 bundles is just amazing and this gets rid of most of it.
There is a tool called ShutUp10 [0] which disables this crapware with some helpful registry tweaks. It's not OSS though so do use caution and be sure you're getting it from a reputable source.
You might also be happy to know that you can right-click and remove all the rubbish from the start menu and just have something that resembles older Windows start menus.
Finally, my favourite console is cmder [1] which is a tabbed console with hot keys and integrates with PuTTY if you need to connect to Linux boxes.
Just setup a user called "Jalapeño" and see how many tools break.
If your username is ascii-7 friendly, it's a good platform to code.