
Ask HN: Turning Windows into a high-quality development environment - paulriddle
What I have now is stock Windows installation. I would like to turn it into something that feels comfortable for development. Obviously a lot depends on what exactly I want to do with it, but for this thread I want to keep things wide in scope. Basically I want to get some software and configuration recommenations like people give each other in r&#x2F;unixporn. For example on Linux, some people can&#x27;t live without tmux, or tiling wm, or fish shell, so I want to hear similar recommentations for Windows.<p>What do you use?
======
rococode
Windows Subsystem for Linux (WSL) with Ubuntu covers most of my bases:
[https://docs.microsoft.com/en-us/windows/wsl/install-
win10](https://docs.microsoft.com/en-us/windows/wsl/install-win10)

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).

~~~
ThePhysicist
I second this. You can also install an X server for Windows and run graphical
tools like the gnome terminal, which I find superior to the native WSL shell.
Be aware that performance of most file operations is much worse than on a
native Linux system, which is mostly (in my understanding) due to the
differences between NFS and Ext4.

------
superasn
You can have a look at chocolatey
([https://chocolatey.org](https://chocolatey.org)) in addition to ninite for
installing programs.

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](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.

------
Sangeppato
Instead of immediately jumping on WSL like some people suggest, I would
install "scoop"
([https://github.com/lukesampson/scoop](https://github.com/lukesampson/scoop))
and spend some time learning Powershell, since it's the main shell of your OS.
If you need unix-only tools, make sure to check out the WSL as well, it's
pretty great these days, but If I wanted to mainly live in a unix environment
I wouldn't use Windows (that's just me though)

------
gtsteve
A lot of the things I use for development are already mentioned so far so I'll
mention something specific to Windows 10. While I wish I could use Linux for
work I do quite like it as an OS, but it does have a lot of trackers and this
thing called Cortana that tries to be a voice assistant like Apple's Siri. If
you're not paying attention you'll click OK on the thing that allows it to
record you while you're working (really) and it's very hard to figure out what
to do to stop it from doing that.

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.

[0] [https://www.oo-software.com/en/shutup10](https://www.oo-
software.com/en/shutup10)

[1] [https://cmder.net/](https://cmder.net/)

------
eb0la
Whatever do you use, _NEVER_ , repeat _NEVER_ use windows for developing if
your account name and home directory has non-ascii-7 characters on it.

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.

------
bjourne
Emacs, Firefox, Python and cmd.exe. These tools work the same on Linux (except
for cmd.exe which doesn't work like zsh) so my workflow on both platforms
stays mostly the same. I automate all build-like tasks with Waf which is
cross-platform.

------
osullivj
Visual Studio Community Edition 2019 for C# & C++ dev. PyCharm for Python.
Mark Russinovich's SysInternals tool for troubleshooting. ProcessExplorer and
ProcMon are essential for cracking DLL load and threading issues.

------
random_upvoter
My main advice would be to take a few days to learn the ins and outs of
Powershell, then never look back again.

------
pragmaticlurker
Don't pollute your Windows Machine with tools. Spin up a VirtualBox instance
or delegate a Docker Image to be your dev environment and every X months
update it with newer updated tools.

------
shifto
I really like Visual Studio Code for Powershell and Python.

------
y42
IMHO you can't answer this question without knowing what are you developing,
like what language, what's the purpose, what's your skill level?

~~~
paulriddle
C, Rust, systems level security work and development of various utilities.

~~~
y42
I can't give you particular hints regarding C or Rust, but let me tell you
what I can't live without:

* 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

------
thepapanoob
i would argue that Windows is bad for anything but Windows development and
gaming.

------
Annatar
Solaris 10 with the SUNWCxall metacluster plus tons of self-compiled, linked
and packaged software. If you want to do programming, Windows is totally the
wrong operating system for that: it's slow, bloated, vulnerable to viruses and
the tools like Visual Studio are designed to dumb you down as programmer as
much as possible under the pretense of productivity. You can probably get some
use out of running the Linux subsystem for Windows, it will have lots of
programming tools like AWK, ksh, flex, bison, make, m4, php, maybe even Steel
Bank Common Lisp...

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?

~~~
orange8
Hmmmm...

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...](https://insights.stackoverflow.com/survey/2019?utm_source=so-
owned&utm_medium=blog&utm_campaign=dev-survey-2019&utm_content=launch-
blog#technology-_-developers-primary-operating-systems)

~~~
Annatar
Because we know that "Stackoverflow" is some sort of an authority, right? Come
on... don't trust anyone on the Internet (not even me). The only experience
you can trust is the one you experience yourself. There is no authority to
defer to, the computer industry is notoriously full of examples where superior
technology failed because most people working on and with computers are
pathologically ignorant, exactly the people who should be knowledgeable. Or
perhaps better: "trust, but verify".

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.

~~~
orange8
As much as you try to discredit that survey, I trust the stackoverflow survey
much more than your anecdotal evidence of windows demise. That survey outlined
the methodology used to arrive at their results. You, on the other hand,
haven't even stated where you live, or how many companies you've visited, over
what time period, to reach the honestly quite absurd conclusion that windows
is dead.

~~~
Annatar
What's really absurd is that there are people still attaching any importance
to Windows, which is the worst operating system in computing history. Even
more absurd is that those people don't know any better. That's the sad,
disgusting state of computing in the early 21st century... and then tell me
computers or computing aren't shit!

~~~
orange8
Hey, life's too short for that kind of bitterness over a mundane thing like
what OS others are using. You have lots of choice.

If you don't like windows, don't use it. Simple! but don't lie to yourself
about whats been the most dominant and used desktop operating system since the
mid 90s.

Preferences are ok but delusions, just sad.

~~~
Annatar
"If you don't like it don't use it" fallacy doesn't work because I'm not
talking about private but professional use. Look what happened with GNU/Linux,
one cannot "not use it if one doesn't like it" because someone else already
decided, also out of incompetence stemming from ignorance (which I'm then
forced to deal with, unnecessarily). So there is more than plenty of reason
for deep seated bitterness and resentment.

Of course I wouldn't use those privately but private use is irrelevant.

~~~
orange8
>> "If you don't like it don't use it" fallacy doesn't work because I'm not
talking about private but professional use.

That professional use is decided by someone too, the business owner, or
someone given that authority. And they too, have aright to make that choice
for their organizations, as well as for the people they employ. If you don't
like it, get a job elsewhere. Choice is not a falacy, and your bitterness
stems from the fact that you're denying you have it. Be gratefull for what you
have.

~~~
Annatar
I will never be grateful for someone else's ignorance or incompetence causing
me unnecessary work. It won't happen. I'd rather drop dead.

I'm interested in doing things the best way possible and neither Windows nor
GNU/Linux is that way. There is no reason for me to be grateful for those two
pieces of garbage making my life unnecessarily difficult.

