DEV Community

Cover image for Should I use Linux?
Henry Boisdequin
Henry Boisdequin

Posted on

Should I use Linux?

Cover Image Credits:
https://onehack.us/t/which-os-you-use-windows-linux-macos-post-here-discussion/65891

Hello Dev Community!

I am currently using macOS as my operating system. I have been told that Linux is better than macOS and Windows for programming. If you use Linux, I would like to know the pros of Linux and the limitations it has. Also, if you would recommend using Linux, should I dual boot or use something like VirtualBox?

Thanks for your help.

Latest comments (59)

Collapse
 
samrocksc profile image
Sam Clark

Use whatever you find yourself most accomplished with. When I'm doing straight programming, and little devops or serverless....I honestly prefer my osX rig.

When I'm doing devops heavy work, I'll gladly put away the heat of a thousand suns that is my MBP and bust out my XPS 13 with Ubuntu.

It's not about the operating system, it's about what you're doing with it :), most importantly, have fun.

Collapse
 
akashkaintura profile image
AKASH KAINTURA

It's fun working in Linux from core shell scripting to python serveretc.
Should Consider this.

Collapse
 
cyberhck profile image
Nishchal Gautam

dev.to/cyberhck/os-wars-let-s-sett... TLDR: use what you're most comfortable with.

Collapse
 
dsaghliani profile image
verified_tinker

Depends on the kind of programming you're doing.

Me, I do game development, and Unity doesn't support Linux. I'd have to do it inside a VM, or use some other workaround. I'd also need to do the same for Photoshop.

At that point, might as well just not use it, especially when its perks -- good access to various packages -- are wasted on me.

Collapse
 
hb profile image
Henry Boisdequin • Edited

Thanks for your input. I don't plan to switch to Linux completely, I just want to do it inside a VM. I do mostly full-stack/ML development and from my knowledge, it's all available on Linux!

Collapse
 
endorama profile image
Edoardo Tenani • Edited

What an interesting question! I'm a long time Linux user (since 2009 more or less) and was wondering to try MacOS. Now, I love the freedom Linux provides (like, my workflow is really mine) but there are downsides and slippery slopes.

@hb I have a question for you: why change? What are you searching for in Linux? I think the switch (and which distro to target) depends a lot on the answer

Collapse
 
hb profile image
Henry Boisdequin

I have heard so many great things about Linux: the customization, security, transparency, cost (free), it's open-source, and just overall makes you understand the cloud and different dev-ops more (host my server on Linux, my OS is Linux). I am searching for a distro which is easy to get into (not super complex), has all the best features of Linux, and has a customizable look. Hopefully, you can help me find a distro which suits my needs best! I will not switch to Linux 100%. I will try out different distros in a VM, and if I like one then I will dual boot! Thanks for your input.

Collapse
 
endorama profile image
Edoardo Tenani • Edited

You can derive most of the Linux distribution you see today from common ancestors:

  • Debian family: Debian is itself a powerful distro, but I would not suggest it to newcomers. Ubuntu is it's probably most know derived distribution. I would choose it because can be customized, has many derived distributions with different UIs and is very stable for desktop use.
  • Slackware family: I'm not that familiar with it but I would consider this for advanced users. I think t's most popular derivation is SUSE
  • Red Had family: know for Red Hat enterprise, it's most popular derivation is Fedora. I would say it's a solid distribution for desktop use. I consider it the main competitor to Ubuntu on the desktop.
  • Enoch, mainly known as Gentoo: the amount of customization you have is endless, but not for the faint of heart. If you are starting out I would avoid it as Linux is as awesome as complex and most of that complexity is overwhelming at the beginning.
  • Arch family: I consider this a step up over Ubuntu or Fedora, allowing you to customize a lot your system but requires understanding more of Linux internals.

More details on the Linux distro history can be found on Wikipedia.

Apart from the OS, you should have a look at the Desktop Environment you would like to use, I suggest to look at the Wikipedia page for a general overview. Consider that Ubuntu has lot of derivatives pre-made with a Desktop Environment, something that other distribution do not provide (you can always do it manually, and I suggest you to do it, but not on your live system 😆).

Good luck and have fun. That's the most rewarding thing of using Linux.

Thread Thread
 
hb profile image
Henry Boisdequin

Wow, thanks for all of this information. I will make sure to have fun when trying Linux! So far I have tried Ubuntu and loved it, I just need more performance. I might dual boot soon!

Collapse
 
amanessinger profile image
Andreas Manessinger

If you use a Mac, you won't need Linux. It's UNIX like Linux. If you have a current Windows 10, just install WSL2 with a Linux distribution, Docker for Desktop, Visual Studio Code, and you're good to go. in any other case, install Linux.

Limitations of Linux are mostly less Games and no Photoshop. You say you have a Mac, and if you can live with that game-wise, you can live with Linux as well. If you need the Adobe Creative Suite, keep the Mac.

Collapse
 
hb profile image
Henry Boisdequin

Thanks for your input. I don't really play games, do photoshop, or do Adobe stuff, I just code, do school, and watch YouTube! I think this is why moving to Linux is okay for me.

Collapse
 
francisl profile image
Francis Lavoie

Here a counter unpopular opinion,

Recently, I switch my personal laptop to Windows, after running Linux for a month. Before I had an old MBP that last me for about 12 years. I did start using Linux in 1999, and since then I run all of time from time to time.

I got a new job recently and asked first to have a Linux laptop, but I changed my mind three month into the job and ask to switch back to Mac.

Here some things to consider:

First, Mac OS has a consistent key-binding across all the system. IMO, a more efficient one for programming. This is what I miss the most when I’m not on OS X.

On Linux, it's pretty inconsistent. On the terminal, you have the same emacs-like as you have on OS X. But has soon as you're in GUI mode, it's a windows-like mess. For example, each application will behave differently with ctrl+w. Sometime copy/paste is ctrl+c/v but other time shif+ctrl+c/v. On OS X, it's all the same, everywhere.

Second, if you use a lot the built-in keyboard and trackpad, a MBP trackpad is just incomparable. The precision, palm detection, two-finger navigation is horrible and frustrating. You have different options to configure it, but even after spending many days trying to get it working, there was always something short. If you plan to use mostly a mouse, this point is not valid.

There are other small issues I experience at home as well as with my work setup. Shorter battery life, broken suspend/sleep mode, screen recording quality issue, dual monitor + screensharing, update that broke working stuff (yes still in 2020, like sound, recording, resolution), no resume session.

Nevertheless, if you never run Linux as your main OS, I’ll encourage you to do so. You will learn much, and you will be more at ease later when you deploy on Linux and work with docker, from OS X.

Collapse
 
hb profile image
Henry Boisdequin

Thanks for your input. I don't plan to run Linux as my main OS unless I really enjoy it. I will play with different distros in a VM and see if I really like one. If I really like Linux, I would dual boot with macOS (macOS costs $$$, got to save it).

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Here's a few:

  1. macOS has 400% more computer threats than even Windows as of this year. SOURCE: USA Today

  2. You're locked into an endless cycle of mandatory and semi-mandatory software upgrades that will eventually render your expensive hardware useless. Linux does not do this: you are in control.

  3. Just because macOS is POSIX doesn't mean it's transparent. It is incredibly opaque. Apple runs the show, especially within their controversial "walled garden" model. The Linux ecosystem, on the other hand, is built around transparency.

Apple itself really brings nothing to the table that the Linux ecosystem cannot provide.

If you want Linux-preinstalled hardware that sports the same level of quality and attention-to-detail that Apple used to be known for, see System76. system76.com/

Otherwise, there are dozens of excellent Linux OSes that will run on nearly anything you already have or could otherwise buy. My favorite is Pop_OS!

Collapse
 
hb profile image
Henry Boisdequin

Thanks for your input. This is why I want to try Linux! I don't plan to have Linux as my main OS but if I like it, I will dual boot. I will definitely check out Pop_OS!

Collapse
 
kryptiksage profile image
Harikrishnan A

It's better to use linux with dual boot over VM. WSL is better than VM anyway but to completely utilise it, it's better to use a distribution. Feel free to ask more. I've been daily driving a linux distro for 4 years and haven't touched windows unless I wanna game.

Collapse
 
hb profile image
Henry Boisdequin

I plan just to play with different flavours of Linux in a VM and find which one I like. I will dual boot if I really like a specific Linux distro. Thanks for your insight!

Collapse
 
panasoft profile image
Abdul-Razak Alhassan • Edited

Early this year I started playing with Linux distros on VirtualBox...I started with Xubuntu and later tried Ubuntu itself...I still have. But somewhere along the line I chanced Debian...I installed full version and have been in love with it forever. Debian full installation is the pinnacle of Linux experience...

In the "Discover" software app...you will find a torn of useful software.

Bugs are fixed in Debian long before Ubuntu and other Distros do so.

The only challenge with Linux Distros is the lack of good design software like Adobe...If that could be fixed...Linux will have no limits, especially Debian!

Collapse
 
hb profile image
Henry Boisdequin

Thanks for your insight. A lot of people have said that Debian is the best Linux distro. Linus Torvalds hasn't used it right? Ubuntu and Debian are on my list to try on VirtualBox.

Collapse
 
hb profile image
Henry Boisdequin

It's funny that you mention the OS choice partly a political decision. I don't plan to move 100% away from Apple, keeping it as my primary OS but in the future (if I like Linux) I might. I will look out for these problems in the future! Thanks for the tips

Collapse
 
michaelphipps profile image
Phippsy

My advice... use the OS you are familiar with. It took me 10 years to stop reaching for Windows when I moved over to Linux for my main environment. Changing will slow you down unnecessarily.

YES. I recommend developing on a Linux system, particularly if you're doing backend work.

My setup is in the cloud. I have a dev server that I connect to with VS Code using the Remote SSH extension. So I'm developing on a Linux, from the comfort of my chosen os, without having to manage dual boot or a virtual machine. If I get bored of working in my office, I can switch from my Desktop (Ubuntu) over to my Laptop (Windows) and connect to my dev server, and just pickup where I left off.

Downside of my setup, I do need to be connected to the internet - but that isn't an issue for me.

My ultimate goal is being able to walk up to any computer, any OS, connected to the internet and get work done. I am currently looking at Code Server which is a completely in browser version of VS Code. Unfortunately it doesn't do Remote SSH due to legal issues, so I would need to install Code Server onto the dev system - something I'm undecided about.

Collapse
 
hb profile image
Henry Boisdequin

Thanks for your input. I agree that trying a new OS will slow me down. I just plan to play with different Linux distributions in a VM and see which one I like. I would love to work on any computer or any OS and get work done. Maybe in the future, we will see something like that.

Collapse
 
sunitk profile image
Sunit Katkar

Some part of my work does require me to use Excel extensively and so I cannot abandon Windows. Openoffice, etc just don't cut it. As someone here said to use Linux subsystem on Windows. Yes, that's what I do to run some things. But these days, for development, it does not matter what OS you have as the languages are mostly Java, Python, TypeScript and the IDEs (like Spring ToolSuite, IntelliJ IDEA, et-al) run very well on almost any OS.

So I would recommend that first answer yourself on 'What am I going to do on my laptop?' and then decide on the OS. Like I do 99% non-Windows specific work but I need the 1% of Excel, so I decided to stick to Windows as the rest can also be done on Windows.

Collapse
 
hb profile image
Henry Boisdequin

That is an interesting thought. More and more, things are becoming available on all the OS, as you stated. My problem is that some things are just available on Linux still. For example, I had to wait a year to use the Google Football Playground. Also, I do use Exel which I run on macOS and that is not available on Linux. I will use Linux as a secondary OS, so I will always be able to switch back.

Collapse
 
buphmin profile image
buphmin

For some of the practical reasons (for backend development):
Docker helps with this on mac, but from my understanding Docker runs on a linux VM in mac so that would be a layer of overhead. The file structure and some of the way software gets installed on mac is different. This means that you may have to understand and keep track of two ways of running things like webservers. Also if you are not using docker with a compiled language you may have to keep of track of the compilation target and any quirks that might bring.

For some more opinionated reasons:
I, personally, am not a fan of the macOS UI. The defaults seem to get in my way and makes it harder for me to be productive. Additionally, I have not found many ways in the settings to bring it to a "good enough" level. There are a variety of linux desktops out there, and many of them have very different approaches to the UI. Whether these are better or worse than the macOS UI is a matter of personal preference.

Collapse
 
hb profile image
Henry Boisdequin

Thanks for the insight. I have never thought of the Linux UI vs the macOS UI. I have heard from a lot of people, and you that Linux is much more customizable. This is why I'm convinced to try Linux!

Collapse
 
rockykev profile image
Rocky Kev • Edited

I'd argue that the Linux UI is more customizable if you WANT TO CODE IT YOURSELF.

Since you mentioned your background is on Mac, you may find a lot of linux distros just being fugly and cumbersome. (I'm speaking from my own experience.) Mac is crazy slick and has so many quality-of-life pieces. For me to jump into Ubuntu & then Fedora, I was pretty annoyed at how 'old' it looked and felt. And I wasn't going to learn how to fix all the things that I took for granted out of the box.

If you're feeling the same way as I did, check out Elementary OS. It's a bit more than a UI flavor of Ubuntu - but a bigger rebuild. That might give you a jumpstart getting your feet wet. Then, you can move to other flavors of linux. For me, I went Elementary OS -> Ubuntu -> Fedora -> Elementary OS again! (I still use fedora at work!)

Thread Thread
 
hb profile image
Henry Boisdequin

Thanks for the tips! I will definitely try out Elementary OS. For the most part, I'm fine coding the UI myself, as long as it's in Python, Javascript/Typescript, or Dart, but I don't think they use those languages...

Collapse
 
cadams profile image
Chad Adams • Edited

If you switch to Linux I hope you don’t mind distro hopping. :D I think I tried just about every distro out there couldn’t find one with everything I like out of the box.

Collapse
 
hb profile image
Henry Boisdequin

Thanks for your input! I definitely plan to go distro-hopping in my VM. I plan to start with Ubuntu!