This articles was firstly published on my own blog here
I was a big fan of Windows OS, and have been using it for years because it is user-friendly, well-designed, and convenient. However, since I started programming I found that a Linux distro (such as Ubuntu, Manjaro, and Arch) is the best Operating System to start with.
In this article, I am going to share, why I most of the software engineers choose Linux over Windows for programming
-
Pre-installed Compilers
The primary reason behind the popularity of Linux is the availability of compilers or interpreter. You don't have to download them yourself. On the other hand, Windows does not come with pre-installed compilers.
-
Open Source
Unlike Windows OS which is commercial, Linux is an open source software that is freely available to download. There are hundreds of Linux distributions available out of which almost five-hundred distro are in active development.
-
Community Support
All newcomers can find help on any of the Linux forums. If you are stuck somewhere in your development process or need help in your coding process, just Google it and you can find several Linux based helpful resources.
-
Performance
Linux is much powerful and versatile than Windows. It is light-weight OS, which makes it faster than Windows. You will notice a significant improvement in speed on a Linux distro when you start working it.
-
Secure
Linux is considered to be more secure than Windows. No antivirus is needed. Since it is open source, several developers are working on it and everyone can contribute code. It is likely that someone will find a vulnerability long before hackers can target a Linux distro.
-
Shell
If Linux does not have what you need, you can still get all the functionalities that you need from the command line. Simply enter the command and it will atomically download and install the package. Which saves a lot of efforts.
Top comments (3)
Sorry but I disagree with you.
Pre-installed Compilers
This is irrelevant imho, if you're building anything serious you're using custom or specific compilers. If you're working with any other language besides C/C++ you might need to download compilers/interpreters.
Open Source
Windows has open-source software as well. Windows Calculator, Windows Terminal, Powershell Core, Asp.Net Core, C#, Microsoft Roslyn and many more. There are 4.5k repos on Microsoft's Github organization account github.com/microsoft
Community Support
There are .Net and Windows forums and communities as well.
Performance
Not really. I think they're pretty much the same.
Secure
"No antivirus is needed" is a bold claim. I don't think any org will let me work using Linux without installing an AV like Bitdefender or Clam AV. Windows comes with a default AV.
Shell
You can use WSL on Windows, Powershell Core, Windows Terminal, Oh My Posh, FZF, Winget, Scoop and lots of other tools. Windows has evolved a lot.
You are right but missed many of the most important reasons.
For those writing anything that will be hosted on a Linux server, which is most of us I'd guess then using Linux on your dev machine has many advantages. Sure you can and should use docker but again docker runs native on Linux and thus runs 3 to 10x faster than on Mac
True that windows has come a long way by adding Linux to itself now but there simply is no good reason to use windows with Linux on it than to just use Linux directly.
Perhaps front end devs can justify using Mac or windows but backend devs really have no excuse, switch to Linux, it isn't hard and your productivity will increase.
I do backend with Python and I have no problems in using Windows & Linux for my daily work, using a Python interpreter from WSL is easy. To me Windows feels more stable and polished. You can use whatever you like the most.