DEV Community

Cover image for Switch to Linux?
Pablo Herrero
Pablo Herrero

Posted on

Switch to Linux?

hey!!!

I currently work with an HP laptop running Windows 10. I have ever been tempted to switch to Linux and lately the idea has been coming back to my head.

Actually, as a programming student, I do a bit of everything: web, mobile, desktop, databases, graphic design...

I think I could continue using all the programs I use (VSCode, Netbeans, JetBrains IDE's, Figma, Gimp...) although I think I would lose compatibility for my vices (Steam, etc... ahahaha).

Tell me, should I switch to Linux? Why? What advantages does it give me compared to Windows? What can't I do on Windows that I can do on Linux? What can't I do on Linux that I can do on Windows?

As always, any help is appreciated.

Cheers!

Top comments (60)

Collapse
 
flyingstapler profile image
Theunis

I’ve been using Windows for years, I recently switched over my Desktop over to Linux and I’ve never looked back. I also enjoy playing games from time to time, so I decided to go with Pop_OS!

I don’t miss Windows one bit.

Collapse
 
memtech3 profile image
Micah Guttman

Same!

Collapse
 
pablohs1986 profile image
Pablo Herrero

I don't really care about games that much, I'm afraid of losing compatibility with drivers and so on... but opinions like yours make me want to jump into Linux! Thanks, Theunis!!

Collapse
 
protobyter profile image
Bob WIllett

I've not had many issues with driver compatibility, Nvidia have good drivers and the only issue I've had is the realtek audio driver but that allows you to compile it from source

Collapse
 
eavichay profile image
Avichay Eyal

Recently I switched from Mac to Windows because I'm working on a windows native app combined with web view. I have found that working with WSL2 is awesome, everything work related, including source code is inside the linux subsystem, and Visual Studio, Windows tools and the native app are running on the win kernel. It feels like having best of both worlds. Not to mention gaming...

Collapse
 
pablohs1986 profile image
Pablo Herrero

Right. WSL seems to be working better every day and they implement new improvements every little bit. Is a pure Linux really necessary having WSL??? Your comment makes me think not. Thanks, Avichay!

Collapse
 
eavichay profile image
Avichay Eyal

Choosing an OS is an opinionated thing. I know some developers who would go to war over that debate.

In my own experience, working on OSX, Windows, Ubuntu (and obviously terminal-based remote Linux machines - centos/ubuntu/etc), I find OSX very comfortable.

Recently I started working on a project running in a native window app, and virtualizing windows in my mac was slow as hell. So I took a (very) nice windows laptop and surprisingly found out that WSL2 feels native.

Combined with a decent terminal (The new Windows Terminal is minimal and nice), I do the actual work on the subsystem. Everything is there: the source code, the command-line tools, all Linux based.

Only the native app (and it's build tools) are windows executables, and I really do not feel I miss anything.

The ease of terminal and *nix workflow I had on MacOS is now available on windows, and nearly every *nix binary available I can use in the WSL.

I might even consider keeping this state for a longer time than expected.

Collapse
 
donohutcheon profile image
Donovan Hutcheon

You should try a dual boot setup. You can always delete the partition if you don't like it.
The biggest benefit of Linux is no viruses, Spyware and windows updates. Games might be supported on Linux but your graphics drivers may not. Driver support is getting better though. Dual boot is a good way to get the best of both worlds. Also MS Office used to be a major reason pinning people to Windows, thanks to Google that has all moved into the browser.

Collapse
 
pablohs1986 profile image
Pablo Herrero

Is it true that there are no viruses, spyware and others ??? Not having Office is something that worries me a lot... and yes, dual-boot seems to be the best option. Thank you!!

Collapse
 
donohutcheon profile image
Donovan Hutcheon

I'm sure there are Trojans and malicious software out there but not as prevalent as on Windows. Security has always been an afterthought on Windows. On Linux you usually install software from your distro's package repository which is usually vetted. Occasionally you need to add a ppa (personal package archive) to get certain apps which I guess could present a risk. I tend to avoid this, I've found through experience that ppa's aren't maintained that well and tend to break the update process rather than being a security risk. Then also occasionally you need to install rpms or Deb files manually, but security is such that apps can't install themselves. Windows isn't as flimsy as it used to be, but viruses are still a thing. I guess browser plug-ins are a risk no matter what OS you use.
I've never used Office online but wouldn't that be an option? It would suck to have to reboot each time you want to use Office.

Thread Thread
 
donohutcheon profile image
Donovan Hutcheon • Edited

I also like to use Docker where possible to run certain apps. It gives me the peace of mind that I can delete the container and image when I no longer want the app anymore. Config files and other junk isn't left behind after it's gone.
An additional anecdote, I went to a Tensor Flow roadshow last year. The Google engineers spent the first two hours trying to assist the Windows users to get the curriculum Docker images working. The World would be a better place without Windows and MacOS :-)

Collapse
 
winstonpuckett profile image
Winston Puckett

The main reason for me is supporting open source and having built in Bash support. Course, with WSL2, GitBash, and everything else... There's not much difference. And since I have to use VS for work, I'm not using linux :(

Collapse
 
pablohs1986 profile image
Pablo Herrero

It is one of my doubts, if it is so worth the change... or is it better to continue with Windows and work with WSL. Thanks, Winston!

Collapse
 
rajan_001 profile image
Rajan

Ability to run docker natively was deciding factor for me. Very often I find myself in situation where I am running multiple containers at the same time which I was also able to achieve with WSL2 on windows, but it kind of made windows sluggish. I have switched to Linux mint on my laptop which I primarily use for development.

Collapse
 
spez profile image
Abhigyan

You may, but do that on any other laptop. Always make sure that you have Windows or Mac on your main computer. I recommend usage of the Linux OS for personal use on a secondary device.

Collapse
 
fennecdjay profile image
Jérémie Astor

May I ask why?

Collapse
 
spez profile image
Abhigyan

Intro

I have been using Windows since I was born. I switched to Linux by setting up KDE Neon on my primary laptop. My laptop had two drives.

  1. 128GB SSD
  2. 1TB Hard disk

I installed Linux on my SSD for better performance. For the first month, I used Linux extensively and was impressed by its speed and low RAM usage.

Problem starts

The problem started when my SSD was full of software and packages. I literally had only 3GB left on my SSD. However, I had more than 950GB left on my hard disk. I tried to move those packages from my SSD to Hard Disk, but I failed. And that's the point I had to leave Linux and roll back to the shackles of Windows.

Thread Thread
 
pablohs1986 profile image
Pablo Herrero

Thanks for the advice, Abhigyan, I'll keep it in mind.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

@abhigya53544714 Ohhh, I'm following your logic regarding Linux now!

I assure you, the problem was not Linux there, but rather your drive configuration. The reason you "failed" to move those packages was because you should not be taking them out of the directories they're placed in by the package manager. Windows and Linux do not work in the same way; you cannot move packages like you can Windows executables.

There are multiple ways to fix that problem.

The quick-and-dirty way is to boot to a Live USB copy of Linux, so you're not booting to either hard drive directly. Copy one of the larger folders, probably /usr, to the HDD, and then rename the original (temporarily, in case of error) and create a symbolic link from the SSD to the HDD. Then reboot to the SSD like usual. (This solution is only a stop-gap in case you can't reinstall, however, as it's a tad brittle.)

The better, more stable way, is done at installation. Select custom drive configuration during Install, and set up the SSD as root (/), but then set up separate partitions on your HDD for /usr (where most programs get installed) and /home. Your computer will be a bit slower as a result, obvious since you're loading your programs from an HDD instead of an SSD, but it will work pretty well regardless.

Solution 3 is to get a larger SSD, but I assume that's not an option.

Thread Thread
 
spez profile image
Abhigyan

I agree with your solutions(I don't want to buy a new SSD), and I even implemented these all for a while. However, it became a nightmare to maintain all this.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

How was it a nightmare, precisely?

Also, had you indeed reinstalled with /usr being configured as a separate partition on the HDD? It didn't sound like you had. That isn't a "nightmare" at all; it's quite effective if done in the normal manner, and you wouldn't ever notice it (except for the speed drop).

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

This is odd advice, given that I've been using Linux exclusively for six years, for both work (and I wear many hats in coding AND business) and play. I also know dozens of other professionals across several fields who do the same.

Collapse
 
austindd profile image
Austin

You might consider a "dual-boot" setup. That way you can boot into a Linux distribution of your choice when you want to, and then switch to Windows or Mac when necessary for things like games. I recommend following an up-to-date tutorial to get it set up, and I also recommend Ubuntu or Pop!_OS for your Linux distribution.

Collapse
 
pablohs1986 profile image
Pablo Herrero

Absolutely right, Austin, a dual-boot is probably the best option. Thanks!!!

Collapse
 
fultonbrowne profile image
Fulton Browne

Definitely go linux, its just so much better for development. Its also very fast and light compared to windows and the flexibility is insane. steam does work on linux, game support is lacking but getting there.

Collapse
 
pablohs1986 profile image
Pablo Herrero

Do you miss anything Windows???? nothing??? :p

Collapse
 
fultonbrowne profile image
Fulton Browne

I don't game but I can imagine it's not great on linux. There can be driver issues in new hardware, but my laptop is a 2016 model so I am good there. All my dev tools work great, web browser support is fantastic, zoom, MS teams, ect. all work without issue, and most unsupported apps have solid Linux alternatives. So, I don't miss a thing.

Collapse
 
louislow profile image
Louis Low

YES! Come and join us, the Linux Clan!

Collapse
 
pablohs1986 profile image
Pablo Herrero

Oh yeah!!! Would you accept me even with a dual-boot??? : D

Collapse
 
louislow profile image
Louis Low

We will consider you an ordinary membership... lol

Collapse
 
pawelowczarekfalcon profile image
Paweł Owczarek
  1. New experience
  2. Nice and native command line. File System and command line is the same in production. Mostly
  3. Usually every solution is native to Linux based systems. Linux ha better performance, this is why servers works faster :)
  4. You don't need Steam :) hehe. You can have Linux and Windows on your computer. Remember, you have to set to default boot system to Linux :)
Collapse
 
pablohs1986 profile image
Pablo Herrero

Totally, Pawel!!! dual-boot is the winner!

Collapse
 
thefern profile image
Fernando B 🚀

Steam works fine for me on Ubuntu (Kubuntu). I think is the wrong approach to compare Windows with Linux. The question you should ask yourself is what features I dislike in Windows and then research if Linux has the same problems. At the end of the day if you boot on linux and you can't be productive initially, then you should ask yourself if you want to spend the time learning how to fix things, build program, etc. Don't just switch for the sake of switching.

Collapse
 
pablohs1986 profile image
Pablo Herrero

You are absolutely right, Fernando! In the end everything is based on productivity. I think I'll give Linux a try and decide which one to keep... or I'll keep both. Thank you, man!

Collapse
 
lancegundersen profile image
linuxlance

I actually went from Windows, Linux then to Mac. The reason being, it is what the company gave me when I went to Linux Academy last year. Now as a Linux fan I tried to get that sleek look through a Dell XPS 13 that shipped with Ubuntu, etc but whew, when I got handed this 16" MBP I was really impressed with the look/feel, weight, screen, ease of use and battery life. I have the features I need with Linux and the ecosystem/access for apps etc. Sure I could get them on virtually all OSs but maybe it truly came down to creature comforts?

Like others have suggested though, I do dual boot with Windows 10 and have an Ubuntu server here at home.

Collapse
 
pablohs1986 profile image
Pablo Herrero

Yeah, man, another option for me is to keep this laptop with windows / wsl and have a MB Air with its bash and its nice things... and save a lot for an MBP like yours!!! hahahaha! Thanks!!

Collapse
 
lancegundersen profile image
linuxlance

Yeah, depending on what your doing, I bet the air will be that sweet spot with an external monitor and on the go ease. With git and remote syncing it's easy to switch between machines.

Collapse
 
kaeptnkrunch profile image
Stephan B. R. Langenau

I use Linux since Mandriva Linux. I only used windows in the past when it comes to games. It's worth to switch and I would recommend Ubuntu or Pop_OS for the first experience. If you search a good Book I highly recommend: How Linux Works.

Collapse
 
pablohs1986 profile image
Pablo Herrero

Thanks for the suggestion of the book !!! And yes, I have to try the change... even if it is with a dual-boot at first.

Collapse
 
manishfoodtechs profile image
manish srivastava

Being a developer you should consider learning linux as 98% of super computers are linux. Also, most popular control panels (c panel) are based on linux.

Linux guy (even home users) can't survive without touching command terminal. While, windows is easy and user has variety of programs.

Get virtualbox.

Collapse
 
pablohs1986 profile image
Pablo Herrero

Totally, you are right, in fact it is one of the reasons why I would like to switch and get more into Linux. I don't like VirtualBox, I think it would do a Dual-Boot... and I love the terminal!!

Collapse
 
freedom profile image
Freedom • Edited

The most practical is dual boot but make sure you always backup your data before risk on installing OS that in rare case may cause storage partition corrupted.

reFind is a better boot manager you could use, download binaries from SourceForge.

Doing benchmark on Linux tend to give accurate results and has plenty of tutorials you can find on the web. It’s good to explore and you can do anything you want on Linux including develop software with Go language for a self contained binaries. Think how you can build something that works on cross-platforms is interesting but I would target web development to be a better choice.

Collapse
 
pablohs1986 profile image
Pablo Herrero

Thanks for the advice!! Clearly a dual-boot seems to be the best option. I'll take a look at reFind :)

Collapse
 
mansehej profile image
Mansehej Singh

I pretty much have the same requirements as you do. I use a dual boot system, and all my development work is done in Linux. It's just more comfortable, and I personally find it much more enjoyable.

I, however use Windows specifically for Gaming, Photoshop (GIMP, Krita, etc. are excellent in linux, I'm just used to photoshop) and MS Office. You can definitely work with LibreOffice or Google Docs in linux, but I feel extremely comfortable using a dedicated suite that is well maintained by Microsoft.

So yes, I would recommend a dual boot system, it's super easy to do and you can experience the best of both worlds!