Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Turning Windows into a high-quality development environment
4 points by paulriddle 8 days ago | hide | past | web | favorite | 33 comments
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/unixporn. For example on Linux, some people can't live without tmux, or tiling wm, or fish shell, so I want to hear similar recommentations for Windows.

What do you use?






Windows Subsystem for Linux (WSL) with Ubuntu covers most of my bases: 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).


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.

You can have a look at chocolatey (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). The amount of crap win 10 bundles is just amazing and this gets rid of most of it.


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

[1] https://cmder.net/


Instead of immediately jumping on WSL like some people suggest, I would install "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)

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.


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.

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.

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

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.

I really like Visual Studio Code for Powershell and Python.

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?

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

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


For Rust I like VS Code with Rust (RLS) extension

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

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?


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.


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


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.


From the point of view of everyone else, "Don't trust anyone on the Internet" applies to you.

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.


"From the point of view of everyone else, "Don't trust anyone on the Internet" applies to you."

That's what I wrote, but it seems you got into a tizzy over "is Windows still a thing?" and it was "good night" after that for you.

The crowd, at "Stack overflow" or anywhere else will never and has in the history of human kind never been an authority on anything. If anything, the crowds have killed innocent people by burning them at the stake, stoning or lynching them. So crowds are about as dumb as one can find.

"Hacker" "news" at its finest again.


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.

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!

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.


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


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


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.


>> also out of incompetence stemming from ignorance (which I'm then forced to deal with, unnecessarily)

This smacks of intellectual snobbery. We are all born with different talents and abilities, and not everyone is blessed with the ability to configure or manage their own OS. Or to dance the rumba. It doesn't make them bad, ignorant or incompetent, they're just wired differently. Which is why choice is such a great thing.


So what if it is snobbery?

If someone can't configure and manage their own OS and yet they are employed in IT, they have no grounds on remaining employed and no their ability to hack-together a semi-working program does not entitle or justify them to remain employed in the IT industry. Better leave that to people who can both program and manage the OS.

I sure as hell don't need work colleagues "workin' fer a paychek" (sic); if a person isn't passionate about computers, they better gtfo of there and stay out and never come back. They should go do something else they too are passionate about.


Why the hell would I reveal my private details on some random website like this one? My faculties have not yet left me.

I personally haven't seen anyone in past ten years or perhaps more using Windows

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.


After 30 years in IT, I've never once seen anyone use a Mac for anything business-related, much less programming. That is not an exaggeration. (At my current company, we're using 75% Windows, 25% Linux.)



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: