Hacker News new | ask | show | jobs
by scarface74 2753 days ago
I would discourage development for Windows but not necessarily on Windows. I develop on Windows and deploy to Linux all of the time. I also have started using the Linux subsystem for Windows.

I’ve been developing for and on Windows for over 20 years. The “Windows Tax” didn’t become a concern of mine until I started using cloud providers. The cost of Microsoft’s licenses was someone else’s problem.

But, when every resource you use is tagged and it’s very clear how much you’re spending on an implementation, the double hit of Windows becomes real. First you pay more for Windows VMs than the same size Linux VMs and then you need more resources.

I can do a lot with a 256Mb-512Mb RAM Linux VM. I at least need 4GB of RAM for Windows and that’s stretching it.

On the other hand, I still love .Net Core but it’s not getting the uptake that Node is or even Java - yes that makes me sad.

1 comments

Why do you need 8x more memory for Windows? The NT kernel isn’t 8x worse than Linux, not even close.
It's a philosophical difference. NT doesn't do overcommit. In theory overcommit is dangerous (and if you decide that matters you can tell Linux not to do it) but in practice it's usually a huge RAM saving.

If your apparent virtual size is 2.6GB but there's actually only 240MB of resident memory, Linux will run on 256MB of RAM. NT requires enough RAM for the entire 2.6GB plus overheads.

This is especially frustrating if you have orchestration services that would have recovered from the unlikely event of OOM since avoiding OOM is literally the only reason for NT's choice.

Personally, I've run small LAMP stacks on VPS's with 256 MB RAM and without major issues. Running a web server on a Windows VPS usually requires more than that (albeit not 8 time as much.