Ask HN: Windows vs. Ubuntu/Linux for Coding

4 points by thatsnotme ↗ HN
I use Windows for all of my work, and so it is easy for me to manage and organize all my stuff. Moreover, the sound quality is better in windows, atleast to me.

But most coders online seem to hate windows, and suggest using ubuntu.

So, should I use ubuntu or Windows for coding?

19 comments

[ 168 ms ] story [ 1054 ms ] thread
I think the best option is a hybrid. Use windows, but use vagrant when you code.
I agree with this. If you're happy with Windows, as I am, Vagrant is a GREAT addition to your workflow. I used to dual boot...but need Photoshop a lot. Then I tried using VMs for years, but that always bogs down the system. Now, I use Vagrant daily for Python/Django development from my Windows machine.
I think I'm going to try to use Vagrant. And VMs really slow down the system, which is why I was thinking of getting a new OS. Dual booting is also not a great way of handling stuff. This is the first I've heard of Vagrant, so, I'll try that!
I also run Vagrant VM's for various things on Windows 7. The key for speed isn't the OS, 8GB RAM and a SSD for your main drive is awesome. The PC I built last fall is super fast, the little Windows start up screen doesn't finish painting before login prompt.

Creating a custom vagrant box is key since you get to put whatever you want on it and not have to rely on someone else's Vagrant base box. Then you can create VM's for different purposes like trying out a new framework or language or upgrades. You also can match it exactly to whatever VPS image you would use for production.

I think the most important thing here is: What language(s) do you work with? If you do not work in C# or VB I would strongly recommend you run Ubuntu.

If you don't like it you can always go back but I really doubt you will.

I'm learning C, Python and Javascript.
Since you will be spending a lot of time in the terminal I could not in good conscience recommend Windows.
Choose freedom. Choose Debian.
Why not Ubuntu?
That's easy to turn off.

I have many other reasons not to recommend Ubuntu, but that's not one of them.

Can you list some of your other reasons?

I'm asking this question because this is the first time I'm reading about Ubuntu in a bad light. And all I can gather from the websites I've seen is that it tracks the user's search history and sends it to Canonical.

Only if you know it's active by default.
It depends on your language(s) of choice, but I prefer to use some form of linux. My go to lately has been Linux Mint.

If you enjoy windows for your day to day business, then just code inside of a linux virtual box.

Better yet, learn to use Vagrant. I used to code in a VM until I found Vagrant (which is still a VM...but "headless"). It uses fewer system resources, is faster to spin up new machines, and has great documentation.
Apart from technical considerations, there is a subjective element here. It need not be a this-or-that choice.

I suggest you try out a couple of linux based development environments, download all the IDEs and compilers you can find, try them out and see what you like.

For example, I use windows for java and android programming. But I prefer Ubuntu for C/C++, because I think of them as system programming languages and prefer the command line heavy, lightweight IDEs - like CodeBlocks and Geany - prevalent in linux distributions. I like simple lightweight IDEs compared to something like VS.

I also prefer Ubuntu for python, mainly because of Anaconda, though I like WinPython too.

If your code base is tightly linked to MSFT technology, do yourself a favor and keep working in a Windows environment. If not, a linux environment is so much easier to configure and just work with.

For ref, I am doing Php work for a living under Windows and learning Golang in my spare time. Work machine at home under Ubuntu and the one at the office running Windows 7.

Be pragmatic about your need. ;)

It really doesn't matter which one we like to use and opinions varies from person to person. for example I like to write python on Ubuntu and HTML,CSS,JS in Windows.

I suggest you try both ( dual boot ) and figure it out yourself.

HN discourages religious debates.

Seriously though a Mac is obviously the best way to go. That or you could justfind an IDE you like and don't worry about the OS. Learning your way around a new operating system is probably overkill if you just want to dabble in a new language as long as your current system supports it well.