DEV Community

Cover image for Linux, the right choice?

Linux, the right choice?

Lucas Marçal Coutinho on January 03, 2021

đŸ‡§đŸ‡· Caso prefira ler em outra lĂ­ngua, esse artigo tambĂ©m foi publicado em portuguĂȘs. Clique AQUI para acessar! Introduction If you ope...
Collapse
 
detoix profile image
detoix

I'm using Linux Mint and I believe that what linux can give you in terms of software development is leaving you well-prepared for various situations, because you will have more opportunities to dig down and find out what is under the hood of all these node, dotnet core and docker stuff.

Collapse
 
lucasmc64 profile image
Lucas Marçal Coutinho • Edited

Not to mention that the 500 fastest supercomputers in the world use Linux ... it is like a swiss army knife in the right hands kkkkk

Collapse
 
Sloan, the sloth mascot
Comment deleted
 
lucasmc64 profile image
Lucas Marçal Coutinho

Yes, Yes, Yes! I made a mess! Sorry!

Collapse
 
sushi21 profile image
Sushi21

Well it depends on your stack and usages.

I'm using both windows and Linux for personal and work (dev).

Linux community and what you can with it is awesome and feels nice.

However I found it is always a bit extra work to achieve all my dev goals compare to windows 10.

Overall I find windows 10 being smoother and more stable.

One thing I have to say though using DevOps pipeline and scripting. Linux is always my first choice. Much faster but also way more.powerful for bash scripts compare to PowerShell.

Collapse
 
jherseth profile image
JHerseth

I have to agree with you. I've been using Linux on and off since the late 90s and exclusivly for a couple of years until last year. While I enjoy it a lot, I feel like there is always something that needs fixing. I've had bugs in gnome, problems with sleep and shutdown and other stuff. Windows 10 has been very stable for me, and WSL2 has really improved the coding experience on Win10.

Collapse
 
sushi21 profile image
Sushi21

Same here, recently I did a test during a full year using Linux (elementaryOS ) as my main OS for work.
Im a tech lead in a dev shop using mostly Microsoft Stack. (core, old asp.net etc etc)

While I was able to do pretty much everything (still needed windows vm for some projects). The feeling of being able to work on linux was nice. (almost felt like representation of hackers in movies :) ).

But in reality I was always spending more time to fix little issues like updates breaking my bluetooth, or some weird issues with PATH for node js etc etc. at least once a week I had to deal with linux only related issues. With the time it just become too annoying and time consuming so that s why I came back to windows at least for work.

But from my experience I have a completely new view on linux.

What I loved:
You can work on linux (even with microsoft product like vscode, teams, azure db etc)
You can game on linux (thanks protonDB)
Some distros are truly amazing. (elementaryOS, new Ubuntu 20.04, linux mint to name a few)

What I hated:
the "extreme" side of linux community and users sometime deserving linux itself by stating shit like 'this distro is better or (you are not suing vim editor.... you are not a true one...) or "oh no he's using a proprietary software on linux what a shame!!). this type of argument annoy me and I think linux is still 'behind' mostly because of that.
Also those constant breaking change or shit you have to fix all the time compare to windows.
The absence of Microsoft Office on linux (yes libre/open office is nice, but not at ms office level)

Thread Thread
 
laurentpayot profile image
Laurent Payot

I use OnlyOffice Community Edition for Linux as a Microsoft Office replacement. Works great.

Thread Thread
 
sushi21 profile image
Sushi21

Oh yeah good alternatives are out there for sure. but when it comes to fully collaborate with peers using live sharing docs and all those little fancy feature from Microsoft experience isn't smooth.

Collapse
 
lucasmc64 profile image
Lucas Marçal Coutinho

I agree with you, in the end the best system is the one that best adapts to your use and your needs.
But I confess that I used Windows 10 since its launch until recently and, unfortunately, I didn't have as good an experience as yours.
And yes... Bash is magical đŸ§‘â€đŸ’» 🧙

Collapse
 
martinhaeusler profile image
Martin HĂ€usler

Linux as a system has a very clean concept and is really powerful. But my god are the desktops awful. It doesn't take a lot of digging until you have to touch some arcane config files. The amount of hoops I had to jump through to get my WiFi to work... Linux distros do a lot of things better than Windows. User friendliness, UI robustness and general plug&play are, alas, not among them. With applications moving more and more to the web, and web browsers working perfectly fine under Linux, the software argument becomes less significant every year. There's even steam for linux these days (no experience with it though). Still, I can't recommend my mother (or any person not intimately familiar with IT) to use a Linux system. If you don't know at least how to use a command line shell, Linux simply isn't an option because the desktops are not there yet.

Collapse
 
princeofhackers profile image
prince-of-hackers

I use Debian for my personal desktop, and I fully understand where you are coming from, I keep a terminal window open 24x7 for various tasks that cannot be easily done via GUI. But have you tried Linux Mint? I have had excellent luck using it for people like your mother (or my wife lol) and been able to get the desktop system fully operational without ever touching a command line. Non-free wifi drivers and all. The folks at Mint have done an excellent job of making not only a beautiful looking and good performance desktop, but also one that does the hard stuff automatically for those that are not techs.

Collapse
 
martinhaeusler profile image
Martin HĂ€usler

Yep, indeed the terrible experience with my WiFi drivers was on Linux Mint 20, just a couple of weeks ago. It took me the entire day to figure it out. In the end, I had to disable secure boot in my UEFI to make it work; figuring out how that's done was another task in its own right. I'm positive that my mother wouldn't be able to do either if those.

But it gets better. My motherboard stopped working last week; the hardware wasn't exactly new anymore and it just stopped working. So I swapped the hardware. Windows 10 (dual boot) didn't even raise an eyebrow, it just continued to work as before. Linux Mint on the other hand refused to even boot the display manager, instead throwing some weird interrupt handler errors. I tried to reinstall it, but even the live boot USB had the same issue. I tried again with vanilla Ubuntu and it worked right away; no WiFi issues either. That is, after I re-installed it TWICE because the first time around I didn't erase my /home partition, foolishly believing that the settings from the Mint installation MIGHT carry over to Ubuntu, since they're essentially the same under the hood. Oh boy was that a bad idea.

I really like Mint, especially Cinnamon. It looks nice, behaves well and doesn't get in your way (I use it at work 100% of the time). But it seems to despise my hardware at home. Now I'm stuck with Ubuntu and their super weird Unity desktop and it makes me cringe - but at least it works.

That sums up what I wanted to say: Linux is nice when it works, but the desktops often don't. And for the average end user, this is a death sentence - game over.

Thread Thread
 
princeofhackers profile image
prince-of-hackers

Wow you did have a bad experience. I actually do remember running into the secure boot and the wifi drivers issue on a system once, I guess we get to blame the secure boot people for that, just as many others have done, they have chosen to only fully support Windows, which causes Linux and other OSs problems sometimes. Secure boot DOES work, but not if you have to use proprietary driver modules in the kernel, because apparently secure boot can't authenticate them.

I am with you on the Unity desktop, can't stand it. And while you can install different desktop environments, installing one other than the distro default often gets you right in the same boat of having to edit stuff manually to get it working.

I did a similar thing with my /home when I switched from PopOS to Debian, it didn't cause me any major issues, does seem like I remember having to tell it that partition was my /home though, it tried by default to use something else.

I can't say I have had similar experience with Windows, every single time I have booted a windows install on different hardware, I have had mega issues. Most of the time it wouldn't even boot.

Thread Thread
 
martinhaeusler profile image
Martin HĂ€usler

Maybe I was just unlucky, who knows. It's interesting that the same (!!) WiFi card works with Ubuntu (while secure boot is on) while it doesn't work with Mint. Either way - those are the reasons why I can't recommend Linux to the typical end user. For a developer - sure, go ahead, by all means.

Thread Thread
 
princeofhackers profile image
prince-of-hackers

That is interesting, I just assumed I couldn't use secure boot with the card I was working with. I did notice on my wife's laptop, Mint wanted to load a proprietary driver for her Wifi card, but I told it no because the open source driver was already loaded and working fine.

I definitely agree that for most end users, Linux can be a problem. When it "just works" it's great, but when something breaks, you have to get under the hood to fix it.

That being said, I feel Windows is not as much better in that regard. 90% of my income for my part time computer repair business is end users who call me because Windows isn't working right on their computer and they can't figure out how to fix it. Only difference in the repair process is that most repairs in Windows are from the GUI, I generally only use CLI for information gathering.

And Windows breaks a LOT more often, usually due to updates. Once I have a stable Linux based system setup for a customer, I usually don't get called back unless they want to add something new. Windows on the other hand, I get 30 voicemails every six months when Microsoft releases their updates and stuff that was fine stops working.

Thread Thread
 
erfouris profile image
erfouris

youre right, windows OS are not worth for web dev / mobile dev. someone using windows coz adobe and games if for video/music editing Mac is choice

Collapse
 
acro5piano profile image
Kay Gosho

Great post!

I think it's worth to mention tiling window managers. They describes uniqueness of Linux desktop environment.

I've been using the awesome window manager called "awesome" for 2 years. It is pretty stable, highly configurable and keyboard centric.

awesomewm.org

Would love to try i3, Xmonad and other tiling window managers in the future.

Collapse
 
lucasmc64 profile image
Lucas Marçal Coutinho

Hi! Glad you liked it đŸ„°!
I didn't know the "awesome" but I had heard of i3... I haven't tested a tiling window manager yet, at most the PopShell extension that already comes with Pop!_OS kkkkk but I will research more about it!

Collapse
 
acro5piano profile image
Kay Gosho

Yeah!
Also I'm surprised you mention Pop!_OS.

I'm using system76 PC (Arch linux in it).
I've played with Pop!_OS for an hour and works well.

Thread Thread
 
j_tesla profile image
Jayanth PSY • Edited

I use popOS too. I'm no gamer but I had NVIDIA driver issues with Ubuntu which I used previously. So, I switched to PopOS and I am happy about it.

Thread Thread
 
acro5piano profile image
Kay Gosho

Yeah, it has promising device compatibility. It's the reason to use that OS.

Collapse
 
pratham82 profile image
Prathamesh Mali

I have two systems one desktop which has windows and a asus laptop which is now my main machine. Since I switched to linux I very rarely use my desktop 😂 only when I have to use MS office or gaming.
Ive switched to linux last year in July I was using PopOs specifically. It's amazing distro but the bloat was killing me and while updating I alos faced many issues.
In November I finally switched to an arch based distro Mnajaro i3 community edition it comes with the i3 window manager as the name suggests.
I have to say that using window manager vs the desktop environment totally changed my workflow and made it more keyboard centric. I switched from vscode to neovim and tmux. In a week or 2 I got used to it and now from Jan 1 2021 I'm using archlabs a very minimal arch distro😊.

Collapse
 
aghost7 profile image
Jonathan Boudreau

Its fairly easy to run Windows games with Steam using Proton (AKA Steam Play) on Linux. Only games that tend to have issues consistently are the ones with anti-cheat. Before that there was Lutris, PlayOnLinux, or just plain old Wine if you needed to run Windows applications on Linux. About a decade ago I was playing Diablo 2 from Linux via Wine without issue.

Collapse
 
lucasmc64 profile image
Lucas Marçal Coutinho • Edited

Steam is a great tool when it comes to playing on Linux. And a Collabora implementation will arrive in the next versions of the kernel that promises to help with anti-cheat problems... Hopefully everything will work out!

Collapse
 
fabasoad profile image
Yevhen Fabizhevskyi

Another point that I would add to Cons column is that it's really difficult to start using any distro of Linux for people who are not really familiar with technical world at all, like old age people or even young people who don't have any experience with PC. Old age people find Windows much simpler because it seems it's more intuitive and user friendly. Also, I remember how much one of my friends was frustrated when he needed to run something in command line with words "why it just doesn't work automatically?" or "why I have to type COMMANDS to do something instead of just clicking the button(s)?" (even when commands are super simple). We can count on wrong distro exactly for this person, or misunderstanding the guidelines/instructions but all these kind of situations are nudging non-technical people to get rid of Linux and forget it as a worst nightmare.

Collapse
 
wrldwzrd89 profile image
Eric Ahnell

Linux's sheer customizability is both its greatest ally and worst enemy, alas. I personally think it's great to have around for development tools, even if desktop use is somewhat awkward. Great primer!

Collapse
 
mksbtech profile image
Milan Sonkar

Balanced article, I have been using Ubuntu for past 12 years for my dev work and never got into situation to move back to Windows .Everything right from postgres, Docker,NPM,VSCode,Java,Eclipse ,Docker,Microk8s works flawlessly with super power on the bash shell.

Collapse
 
jmccabe profile image
John McCabe

Sadly, the choice of Linux distros is, in my opinion, its downfall. The fact you can find applications that only work, or are only supported, on specific distros is a nightmare.

For example, the Xilinx Petalinux tools only work/supported on Ubuntu, RHE and CentOS, but other tools I use are only supported on, e.g. Ubuntu and Fedora etc. This essentially means that, if you want to do real work on Linux where you depend on a vendor's support, you need to decide what distros to use based on what your vendors are happy with, it's not a free choice.

Then, of course, there are the FOSS packages that have instructions to build on certain distros but, if you're using something else, you're on your own.

A further irony, perhaps caused by the arrogant attitude that the command line is king, is the difficulty in finding a good, free graphical git client. On Windows you have TortoiseGit (as well as very similar TortoiseCVS and TortoiseSVN for CVS and SVN respectively) and Source Tree; if you want the same power on Linux, you have to pay for it!

If the Linux world really wants to compete with Microsoft on the desktop, it needs to rationalise. A distro designed to appeal to beginners or to try to entice Windows users away is, in my experience (having first started looking at Linux with Mandrake in ~1996), unlikely to be well enough supported for professional software developers so, at some point, you'd have to bite the bullet and move to a different distro, with then costs of potentially re-learning how to do all the things you already knew, but in a different way.

Collapse
 
peternehemiah profile image
peterNehemiah

For me my base system is always windows. I do use Linux for a lot of my development. Generally I will SSH into my Linux box and forward x11 or just work right from the ssh command line. Windows though offers driver support and mission critical applications that are not available on Linux. In general Linux works well for terminal environments, but still is lacking in GUI. This is coming from a 20-year software veteran that has seen everything. Consider embedded development. Generally you would develop your code in Keil or some other IDE in Windows and deploy the code to your device. Linux just does not have the tooling necessary for the development of many industry standard applications. Nor does it have a lot of the compilers that are necessary. It is fine for open source projects, but in industry there are still many things that Linux cannot do. That being said I love Linux and I do use it everyday. Generally though my main system is Windows and I will SSH into a Linux box as needed.

Collapse
 
alphavader profile image
KB • Edited

I break the Lance for windows here.. windows 10 is really nice and stable.. As a developer iam using the Linux shell (too).. There is nothing that iam currently missing and i can play my games aswell.

But yeah Linux is nice

Collapse
 
shaileshcodes profile image
Shailesh Vasandani

Awesome post! I loved the overview of some of the more popular distros and you made the post very approachable to people without experience beyond looking only at Windows or Mac their whole life.

If you do a part 2 I would love to see some photos, I am definitely following to make sure I don't miss out.

Thanks so much for sharing!

Collapse
 
lucasmc64 profile image
Lucas Marçal Coutinho

I'm very happy that you liked the post! Seriously, it means a lot to me ❀... And thanks for the tip of the photos!

Collapse
 
klukiyan profile image
Kiril Lukiyan • Edited

while developing is nice (git commands, and npm commands run extremelly fast),
too many things suck. Some apps run slower than on windows (chrome, spotify). Often freezes, lags.
Some apps are non-existent - TogglTrack, Excel (with VBA), Skype for business...
After 2 monhts, had to return back to windows :(
just wasted a lot of type setting up everything...

I used LinuxMint on one PC, and Ubuntu Budgie on another. Gnome was ugly and laggy.

Collapse
 
premkumarmahenderker profile image
premkumarmahenderker

Afaik, comparing Linux to Windows is like comparing a cat to a lion.

Other than usability, Microsoft puts billions on pre-installing Windows on Laptops, pays every other giant software developers like Adobe, Google, etc. to make sure Windows to have everything supported with it.

I don't think you should compare Linux to Windows, because practically in business perspective, Linux is free, whereas Windows focuses on market share.

Collapse
 
mauro_codes profile image
Mauro Garcia

Hey, great article! You could also mention some Window Tiling Managers like i3, dwm, xmonad, etc. But maybe that's material for another full post :D

Collapse
 
lucasmc64 profile image
Lucas Marçal Coutinho

Hey, thanks! I don't know much about it, but I'm studying Window Tiling Managers for, who knows, a future post â˜ș

Collapse
 
codebyjustin profile image
Justin

Love my classic Ubuntu distro.

Collapse
 
thoughtinstinct profile image
SparklingINsilence

Im a big fan of Linux Lite. Came to say that and that i enjoyed reading this

Collapse
 
lucasmc64 profile image
Lucas Marçal Coutinho

I've heard a lot about Linux Lite, especially when it comes to lightweight distros. It's on my list of OSs to test kkkkk. And thanks for the support ❀!

Collapse
 
briancross profile image
Brian Cross

I’ve been a full time Linux user for about 15 years. Recently switched from Manjaro to Debian (loving the stability). The one or two Windows programs I occasionally need run fine in a VM.

Collapse
 
dishantpandya profile image
Dishant Pandya

Great explanation!

Collapse
 
lucasmc64 profile image
Lucas Marçal Coutinho

😄 I'm glad you liked it!

Collapse
 
epsi profile image
E.R. Nurwijayadi

Linux has Diversity.

đŸ•· epsi-rns.github.io/system/2020/10/...

Linux Diversity

Collapse
 
tupynamba profile image
Gwyra bebe pimentel

Onde baixar isso gnomos?

Collapse
 
amatiasq profile image
A. MatĂ­as Quezada

I'll add one CON
Your linux system might stop working any day for no clear reason and it's up to you to fix it.
That's the reason why I stopped using it