Svetozar Korytiak

Advantages of using Linux for .NET Core Development

March 31, 2018

For me there are 3 reasons:

  1. Modularity and power that comes with Linux.
  2. Speed of installation of new software, execution and development.
  3. Server-like development environment.

Modularity

Having in my opinion the best terminal (bash) at your fingertips, while being able to change and tinker with just about anything, if you have the knowledge to do so, is enough in and of itself. In addition to this, you can setup key shortcuts without using AutoHotkey. Use virtual desktops, to 'have X monitors' one keystroke away. SSH without using Putty or WinSCP. You can also change the design to have all kinds of fancy looks (try to do that in Win). You can setup uniquely designed, powerful, server-like, fast, rock solid, development environment with all the shortcuts, automation scripts, ssh sessions, virtual desktops, tmux sessions you can imagine.

Speed

Getting most of the software is as easy as typing a command. Sometimes you have to get more creative tough, and go get the package yourself, untar (unzip) it use 'dpkg' or 'make' to get stuff going. I`m gonna be honest with you, though installation itself is FAST (faster than in Win most of the time), you can, at the beginning, get a little bit overwhelmed. There is however a ton of help on the web, where you can always find a solution.

For web development, using .NET Core and VS Code as code editor, development is MUCH faster on Linux than on Windows. This was my feeling when I did both from time to time. Everything just seemed more fluid (on the same machine with dualboot Debian 9 with KDE desktop and Windows 10) on Linux somehow.

So I did some timing (with 'time' command before the thing you execute) and came up with some (for me) surprising results.

  1. To launch VS Code

    • Linux 0.143s
    • Windows 1.564s.
    • Linux was 10x faster.
  2. To launch Google Chrome:

    • Linux 0.331s
    • Windows 0.142s
    • Win was over 2x faster.
  3. To create new .NET Core console app:

    • Linux 1.454s
    • Windows 2.551s
    • Linux was over 2x faster.
  4. To create new .NET Core reactredux web app:

    • Linux 2.116s
    • Windows 9.838s
    • Linux was 5x faster.

It seems that the initial feeling of things being more fluent and faster is not completely wrong.

Server-like

Most of the web uses Linux for production. It is only logical, that the skills gained using Linux for development will translate to the management of the production environment.

In conclusion

I'm not saying: "Ditch Windows, Linux is the best..." In fact, I use dual boot and switch to whatever I need to use. There are applications made just for Windows, which some of us just can`t imagine living without. It is hard to beat the comfort of Visual Studio for a .NET developer with all its benefits. However developing on Linux in VS Code can give you a fresh new developer experience, while using the language you love.