DEV Community

Cover image for Is linux good enough for everyday programming?

Is linux good enough for everyday programming?

Marwane on July 19, 2020

Disclaimer: I’m writing about my experience with major OS (Windows 10, macOs High/Sierra, Ubuntu/Manjaro) using a Solid State Drive. It has a huge...
Collapse
 
arturssmirnovs profile image
Arturs Smirnovs • Edited

I was using Linux few years ago, but yes I got tired of no Photoshop no advanced drivers for specific hardware..

So at the end of the day switched back to windows 10..

Since windows 10 has windows subsystem feature I feel like I'm in Linux server with command line..

So my os to go is Windows for now...

Collapse
 
cyberhck profile image
Nishchal Gautam • Edited

Author is talking about programming, not designs, so jumping onto commenting about photoshop is just not cool man,

advanced drivers, I slightly agree, but what I've seen with my system, I might have to find drivers online, but with ubuntu, they're automatically working, no need to install anything. Where I agree is with some WiFi devices, and nvidia driver (ubuntu does have nvidia driver, but it's not the same quality as windows)

also windows subsystem is shit, it's so slow, and so PITA, I've used it once in the past, it doesn't work well with symlinks for mono repo, and it's slower.

For every day programming, Ubuntu, Arch, Manjaro (any linux based OS) actually work much better than stupid windows,

I've a desktop at home, ubuntu is my primary OS, I do programming on that, and the only game I play (CS:GO) is now available for ubuntu, and you know what? it's more stable and more smooth on ubuntu. The only times I use windows is to play NFS, some battlefield.

Also for people commenting "WSL gets the job done", that's not what I'm looking for in my PC, I'm looking for myself to be the best version of me, the most productive, and no waiting for build to finish. On linux, you get significant boost when you're working. (Try deleting node_modules on windows vs linux) and you'll notice the difference.

Collapse
 
tpubben profile image
tpubben

WSL2 is leaps and bounds better than WSL. It has the same access to hardware as a native Linux installation and runs just as fast. Since WSL2 was released I've finally ditched my dual boot Linux installation.

Thread Thread
 
atldev profile image
Chris

With you 100% on WSL2. It's been running Ubuntu 18.04 very nicely for me. And I've found instructions for installing CentOS. WSL supposts installing multiple Linux distros and choosing which distro runs. WSL2 does prevent Linux access to GPU and serial ports, but MS says that's "high on their list" of improvements to be made. Still WS2 is performant and highly usable.

Thread Thread
 
dalgibbard profile image
Darren Gibbard

GPU access is available in the latest Windows Insider builds now

Thread Thread
 
yorozuyadev profile image
Yorozuya3

I'm bored of EEE strategies of Windows, and WSL is one more of them. So if I will continue using GNU/Linux for GNU/Linux applications

Collapse
 
reggiedrax profile image
Reggie Drax

Author wrote about Photoshop, and Lightroom, and MS Office, not just about programming.

Thread Thread
 
cyberhck profile image
Nishchal Gautam • Edited

He wrote about it, I understand, but the question again is:

Is linux good enough for every day programming

I don't see myself using photoshop, lightroom, ms office for everyday programming.

I understand they're a factor, but again, looking at what's desired (everyday programming), it doesn't make sense to compare with programming, (and everyday programmers don't need fancy photoshop tools, inkscape, gimp etc can do those just fine)

Thread Thread
 
moghwan profile image
Marwane

sorry to disappoint you but I needed Photoshop (and firework earlier) for PSD/HTML template integration, for ms office and specially excel we used it for projects management and collaboration since we have a microsoft 365 subscription, and the web version wans't enough for me a least

Thread Thread
 
cyberhck profile image
Nishchal Gautam

again, you're using wrong tool for the job and blaming a OS for it, PSD isn't for UI designs, heard of either of XD, Sketch, Figma? they're meant for designs, and it doesn't matter which OS they support, because in the end you can see the spec through online interface.

Thread Thread
 
reggiedrax profile image
Reggie Drax

What's "not cool" is putting someone down because you disagree with them.

Thread Thread
 
cyberhck profile image
Nishchal Gautam

Where have I put someone down? I'm just expressing my thoughts, if you think Linux isn't good enough for everyday programming, state facts and try to change my mind.

I've done so, I've been using Linux for heavy programming, and is my goto os for a while now, it's a fact and I can prove how much I use it.

What's actually not cool is you trying make me look bad without shedding any facts.

Thread Thread
 
reggiedrax profile image
Reggie Drax

"Author is talking about programming, not designs, so jumping onto commenting about photoshop is just not cool man"

This was you putting them down.

It's not that I think Linux isn't a good development environment - it obviously is, though living with it for tasks that don't directly involve writing and running code can be a bit painful. You're right - use the best tool for the job. I commented because I thought what you said was dismissive and a bit rude.

Thread Thread
 
cyberhck profile image
Nishchal Gautam

Actually re-reading it, yes, I hear it too, I'm sorry about it. Thanks for pointing it out :)

Collapse
 
mkellsy profile image
Michael Kellsy

Such an old-guard way of thinking about things. Ask yourself, why do I think Photoshop is not a barier to entry for an OS? Why do I even need a node_modules directory, and why do I need to delete it?

Your development OS or delivery method should be influenced by the target audience, not your needs. If your app needs to run on WSL, then WSL and Windows should be your OS. This is why Docker is so popular.

Thread Thread
 
cyberhck profile image
Nishchal Gautam

Actually, I strongly disagree, ideally I should be able to work on whatever I'm comfortable with and build for whatever platform I want, take a look at golang,

And if you do stuff correctly, your CI needs to build and release stuff, so you can stay on what you're comfortable with.

If you're interested, I can write about how I get these things done

Collapse
 
moghwan profile image
Marwane

About photoahop I use it often when I have a project design integration to HTML or when designing/updating my app shreenshot on playstore and also I just got comfortable with it even with small editing :D

Thread Thread
 
aberba profile image
Lawrence Aberba

If you need photoshop then it's got nothing to do with the OS, it's got everything do do with whichever platform Adobe decides to support.

I'm yet to see what photoshop does that gimp can't. But you're into photoshop, then Linux is probably not for you.

For hardcore programming, assuming its not dependent on MS stack, Linux is second to none.

Collapse
 
arturssmirnovs profile image
Arturs Smirnovs

Yes sure..
But for example, i have laptop with one hdmi, but i wanted to attach 3'd display, so i purchased usb to hdmi: displaylink.com/products/usb-adapters
Guess what: linux drivers not working very well..
I have master mx2 mouse, guess what: No drivers on linux..

So it's small details like this..

Still if you are developer from time to time you need some advanced graphics.. it's pain in ass that you can't use it property..

But yeah, if linux would have all drivers available it would be my to go platform..

Thread Thread
 
cyberhck profile image
Nishchal Gautam • Edited

I'm using MX2 and MX3 mouse, I've had no issues, like I said, it's plug and play, sure I don't have logitech flow, but it does work,

I've 3 monitors at home and I don't even need to use those adapters, I don't see why you'd use it,

Maybe you're not buying tools correctly, if you want to have extra monitors, buy a laptop and a dock, and maybe a dock with 3 hdmi or display ports,

I think the argument about display was like, ahh, this screw driver isn't driving this nail into the wall, screw drivers are bad.

Maybe buy a docking station? While I'm typing, I'm using a docking station right now,

Also I'm sure there are plenty of usb to hdmi things which follow some open standard and linux works even without manually installing a driver (most of things are plug and play, like my mx mouse here)

Thread Thread
 
190245 profile image
Dave

Ubuntu user here, with an MX3 sitting next to my laptop after upgrading from the MX2.

In the office, I have a docking station, at home, I work with a single screen just fine, and when at remote sites etc, I have a USB3 hub with extra HDMI etc.

Sure, the drivers on the docking station & USB hub didn't want to play ball, but I grew up on a BSD command line, so it wasn't tricky to sort it. My problem there was the choice of laptop not being explicitly designed for a docking station, and I wanted a USB hub for travel (that I've used all of twice).

By & large, everything in modern Linux is plug & play, and I've managed to convince a few people to move over from MacOS just by them seeing the way I work.

Collapse
 
kretaceous profile image
Abhijit Hota

I'm looking for myself to be the best version of me, the most productive

That's the point, mate. The comment you replied to, said the same thing. He told about his own preference and why he chooses it. So I don't see the reason why it's "not cool".

Collapse
 
pavelloz profile image
Paweł Kowalski • Edited

Mixing hackintosh and its kext nightmare into mac os discussion is not fair either, but here we are ;)

Im doing some frontend dev work and i cant go by without PS/Illustrator.

Thread Thread
 
cyberhck profile image
Nishchal Gautam

I don't understand this, for frontend work, I've never had to use PSD, because I expect UI designs on XD, Sketch or figma, and they have web interfaces to get specs and sometimes even parts of code that can be copied/pasted,

I'm sorry, but if you're using PSD to do UI design, it's like using hammer to drive screw through a wood, it can be done, but that's not what it's for.

Thread Thread
 
pavelloz profile image
Paweł Kowalski

Well, you should expand your horizons then.

Im working as FED longer than XD, Sketch or Figma exists, and PS was the ultimate slicing tool. And illustrator often is my go-to tool to edit vector graphics, because its just good.

Thread Thread
 
cyberhck profile image
Nishchal Gautam

How can you talk about expanding horizon when you aren't willing to use right tools for the job?

Also, if you're making ui designs, you aren't programming, you are designing, and if the title of this post was "is Linux good enough for everyday designing?" my answer would be no, just go with mac/windows, unless you can get away with just figma and need nothing else.

So again, if you use right tools for the job, and the job is building apps not specific to a platform, then yes, it's not just good enough for programming, it's better at most situation, and I standby this statement,

Now please talk about programming, don't talk about how I should now start to learn design and change my answer, that's not gonna happen

Thread Thread
 
pavelloz profile image
Paweł Kowalski • Edited

So now know better whats right tool for MY job? ;-) This discussion is over. Have a nice career.

Thread Thread
 
cyberhck profile image
Nishchal Gautam

Yeah, and even if I see a carpenter trying to drive a screw with a hammer, I'd do the same, I'd just assume he's an inexperienced carpenter,

Psd isn't right tool for design, and it's certainly not a tool for programming, unless you happen to code something related to psd.

Thread Thread
 
pavelloz profile image
Paweł Kowalski

One day you will discover the difference between fact and opinion. This day will be huge for you, cherish it ;)

Thread Thread
 
cyberhck profile image
Nishchal Gautam

Where did I miss that?
author of a comment said "putting them down because you disagree isn't cool", what I said was, I've been using linux for quite a long time, and it's working awesome for me, (for me it's primary OS), so obviously it's good enough for every day programming (which is the title of this post btw)

and the fact I've been talking about (which I have evidence for btw,) is that I've been using linux for more than at least 6 years.

And not once have I had to say, ahh, linux sucks for programming, (but on other OSes, I've said it btw),

Now this thread is becoming a bit toxic, and I'm partly at fault which I noticed before in one of the comments.

But we're just expressing opinions and getting offended.

I'm gonna stop replying to this by just stating this:

  • I've used linux as only OS for about 4.5 years.
  • I've used MacOS for about 6 months
  • I've used windows for 1.5 years (in the recent years, not counting olden days)

And now I'm using both OSes, windows for gaming (NFS) and ubuntu for writing code (also CS:GO on ubuntu)

I have to use windows for my office work because it's not cross platform, and every day, I notice so many issues.

I standby this: "Yes, linux is good enough for everyday programming"

But obviously not if you're doing iOS development, or windows app development, or something similar.

But here's the thing, IF your target platform can be developed through Linux, (and you're new to linux), then you might find a bit friction at first, but once you start getting used to it, you won't feel like you're using your IDE on linux, it'll feel like you're using your IDE, unlike on windows, it's very apparent that you're using your IDE on windows. (it's that icky feeling)

docker runs faster, builds happen faster, consumes less memory and so on.

Again, the title of the article: "Is linux good enough for everyday programming"

I say yes

Collapse
 
quazardous profile image
quazardous

Using a windows VM from Linux does it 😋

Collapse
 
jenoblair profile image
jenoblair

Same bro

Collapse
 
moghwan profile image
Marwane

I wasn't into the need for WSL since it doesn't increase my productivity, at least for me but I heard some positive feedbacks since the WSL2 came out. does it worth it for general web development?

Collapse
 
henryjw profile image
Henry Williams

I've been using WSL since the early days and can say that WSL2 is a huge improvement. It's not perfect, but for day-to-day web development it gets the job done. I've hardly had any issues with it.

I use a Macbook for work and it's definitely a more seamless experience, but WSL2 gets the job done for me.

If you decide to try WSL2, I highly suggest Pengwin because it comes with many dev tools installed out of the box and has a custom installer to install other tools (like GUI support, language runtimes, etc.).

Thread Thread
 
aleksandrhovhannisyan profile image
Aleksandr Hovhannisyan

I really want to upgrade to WSL2, but apparently there's a known memory leak issue, so I'm reluctant. WSL1 is so slow >:|

Collapse
 
bernardigiri profile image
Bernard Igiri

Krita, Inkscape, Gimp, who needs Photoshop anymore except for graphic artists?

Collapse
 
lkw23002894 profile image
LKW

Precisely this. And with modern web design, it's vector graphics we need, not bitmaps.

Some of the things we used to use Photoshop for can be done with CSS3, too.

The last time I used Windows was XP, and I haven't needed it since. If you miss the UI, use the Plasma or Cinnamon desktop.

Collapse
 
captain_346 profile image
Shihab Mohammed

use latest version and get best distro depends on your work... Linux is the greatest OS of all time...

Collapse
 
miguelmota profile image
Miguel

I'm able to run Windows and even macOS VMs on Linux which allow me to use Photoshop.

Collapse
 
dougaws profile image
Doug

I have three laptops: a Windows 10 one that I do most of my work on; and a MacPro and Linux Ubuntu 20.04 that I use to confirm everything on MacOS and Linux. All have their purposes. In most cases I use emacs for quick code/doc changes; VS Code for larger changes. If I need to create graphics, the Mac is best; if I want to quickly compile/build an app, Linux is fastest; one should use the appropriate tool for the task, not look at every task as a nail for a hammer.

Collapse
 
m4r4v profile image
m4r4v

I can tell you my story.

I first was a Windows User, then I got introduced to Linux, it was awesome. A few years later I got a job where they gave me a macbook for work, it was nice, I looked fancy and it was similar to Linux but with a nicer GUI, but to be honest, I really hated knowing my macbook constantly communicated with apple, most of the time to send stats about the OS behavior, but really who knows what is really sending out there, it could be anything.

After I left, I bought a new laptop and immediately I installed Linux (Debian), I code, write, surf, design, pretty much everything and I am happy. Recently I got stuck in a course, it was about flutter and the course only covered mac and windows, but I moved around tweaking my laptop and finally got android studio up and running correctly and I am happy with it.

Linux Lover 4ever. having control of what you do and what you have for me is a must have. If you like nice GUI mac is ok. Sorry not a windows fan hehe, not even with the new win10 that runs linux inside.

GIMP for Photoshop and Inkscape for AI
MSOffice on linux can be run using wine, but I use google drive (docs and sheets)

Hope it helps

Collapse
 
evilnick profile image
Nick Veitch

There is a snap package for flutter now, just FYI
snapcraft.io/install/flutter/ubuntu

Collapse
 
kimschulz profile image
Kim Schulz

Interesting. This is about as far from the reality I have seen as a professional programmer for more than 15 years. Every developer I know complains if forced to use Windows for development as it is slow as hell and the tool chains are cr*p (unless they are by Microsoft and for Windows apps only).
Everyone uses Linux as all the tools are available there, it is fast and can be modified easily to fit everyone's needs. If some company policy forces the devs to use Windows or macos then they still prefer Linux in a VM over the other alternatives.
I do not recognize the stability mentioned with macos. For various reasons I have had to develop ios and macos apps which forces you to use macos. Never have I seen so many crashes, cpu hogs gone Wilde and memory disappearing for no good reason. Xcode is about as bad as any tool can be and constantly crashed - especially during debug sessions which forced us to restart everything as it could not reconnecd to the ios devices after that point.
But hey, there might be some Web devs or similar that fint it usable.

Collapse
 
moopet profile image
Ben Sinclair • Edited

If some company policy forces the devs to use Windows or macos then they still prefer Linux in a VM

That's not my experience. In the last 15 years or so, most of the programmers I've worked with have preferred MacOS, a minority Windows and I've only known one or two who genuinely used Linux as their host OS - I'm one of them :)

Collapse
 
kimschulz profile image
Kim Schulz

You should get new friends 😊 I have yet to find others than Web devs (who are more fronted designers) that actually like macos. It is just too closed down for hardcore development. We have around 200 devs where I sit (c/c++/python/perl/java/kotlin/asm) and less than a handful use win, no macs at all. Seems to be the same with most of the companies we work with.
Anyways, the fun how it differs in some orgs around the world.

Thread Thread
 
cegonzalezspace profile image
Carlos G. (+A+CC)

I totally agree (except for a couple of exceptions of developers I respect and use Mac).
This is probably the same case discussed in other posts above: developers that need Windows or Mac to use Photoshop... whaaaaath??

Thread Thread
 
moopet profile image
Ben Sinclair • Edited

In my experience, it's usually because of the (genuine) reputation of Macs being reliable, fast and pretty, the (false) reputation of Linux being unreliable or technically confusing, and the (false) reputation of them being somehow "better" for graphics or design.
The last isn't usually relevant to programming, but phrases like "web design" have muddied the water in recent years. They're also a status symbol in places like the US because of their price.

Most people who've used them would agree MacOS is a better general-purpose programming environment than Windows, but the trek to MacOS is daunting for someone used to Windows (and vice-versa). The switch to Linux is seen as daunting by both camps. Almost nobody starts off on Linux.

Thread Thread
 
cegonzalezspace profile image
Carlos G. (+A+CC)

I agree.
My question is: If MacOs fits your development requirements, why Linux shouldn't?

Thread Thread
 
moopet profile image
Ben Sinclair

If you are developing for MacOS, then you'll need MacOS to do it on. That's all I can think of.

Collapse
 
lulebe profile image
Leander Berg

I use windows because I love my surface book and it's pen, so I can't switch. I'm not a professional programmer but do it as a hobby and also need to write a lot of analysis code at work (medical lab).
WSL2 works nicely. The new windows terminal app is a big improvement.
With those two things and windows 10's multiple desktops I have all the special needs figured out. Granted, there are issues here and there but I it costs me maybe 30mins per month for personal and work related issues to resolve them, and I'm sure I'd have other issues with a different OS when using some non-programming related apps. If I only used my PC for programming though, I'd certainly switch to Linux.

WSL2 is really underestimated though. It works very well for me and is way faster than WSL1 so no matter if it's running a complex analysis function or just compiling some webpack stuff, I've had a great experience so far.

Collapse
 
ginsburgnm profile image
Noah Ginsburg

Manjaro: “You said you hated KDE right?”

Distros are decoupled from desktop environments, you can run KDE/Gnome/cinnamon/mate/i3/xfce/whatever on pretty much whatever distro you want. In fact there tend to be different downloads available for purposes of having a specific default desktop environment.

On a neat note, the installer image for OpenSUSE (at least tumbleweed) is so large because it let's you choose your environment during installation.

Collapse
 
cegonzalezspace profile image
Carlos G. (+A+CC)

Not totally true. Some distros do a better job with some desktop environment than others.
For example, I think Manjaro is the perfect choice for KDE... you need that KDE updates, which you don't have in Kubuntu.

Collapse
 
ginsburgnm profile image
Noah Ginsburg

You could instead use KDE neon, kde.org/distributions

KDE neon takes the latest Plasma desktop and KDE apps and builds them fresh each day for your pleasure, using the stable Ubuntu LTS base.

KDE neon is the only KDE desktop environment/distro pairing made by KDE (that I'm aware of); one would think if you want the true KDE experience you would get the distro straight from them ;)

Or as with any system you can just build from source.

Thread Thread
 
cegonzalezspace profile image
Carlos G. (+A+CC)

Yes, I recently tested KDE Neon too! And I like the idea.
For me, Manjaro KDE resulted in a slightly better experience.
In particular some KDE updates (specially recent 5.19 updates) introduced some small but annoying bugs, that I didn't see in Manjaro due to the testing process.

Thread Thread
 
ginsburgnm profile image
Noah Ginsburg

Whatever works for you, but I find it interesting that you call out manjaro for less bugs. In my experience arch and arch related operating systems are bug heavy due to their significant lack of testing capabilities. This is partially why people kinda wear "I run arch" as a badge of honor.

I've run manjaro before and while I didn't run it with KDE, so this experience doesn't particularly translate, I did see a litany of graphical bugs; and this was because of the rolling release style of the system. "Did the package build? Cool, release it"

I tend to find debian based operating systems more stable than Arch ones, but everyone has their own preferences. So I guess back to my original statement

Whatever works for you.

Collapse
 
moghwan profile image
Marwane

Thanks for pointing the java/.net line, what i meant is I'm not using them anymore since i finished my studies and I earlier worked with Kava in ubuntu with no problem, for .net I was mainly using Asp.net and Windows form apps and really didn't know much about .Net Core compatibility! I'll edit ithe post for that 😁

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

I was the #1 KDE hater until GNOME 3/Shell. They have made great strides in performance (largely because Canonical has made a large push for it), but even still my every attempt at GNOME Shell ends the same: Quickly unusable due to freezing. I blame this on the Mutter window manager, because I experience the same issue to some degree on every other Mutter-based DE (Cinnamon, Pantheon, Budgie...). Meanwhile, I've considered KWin the best WM since KDE 4 (which was very buggy, but had enough great features that I stopped considering myself a KDE hater). Despite still having occasional gripes with Plasma, I consider it by far the best DE since KDE 5 was released. It's nice to see how much more inviting and personable their devs are too compared to the notoriously difficult GNOME devs, and Nate Graham's "Adventures in Linux and KDE"/"This Week in KDE" posts are an absolute treat.

Windows has improved immensely as an OS for developer (largely thanks to Linux, and again especially Canonical), but as you said, not great, not terrible.

MacOS is mostly great, when it allows itself to be installed - and I'm not talking about a Hackintosh on bare metal or VM, where I've had few problems on either in the last few years going with the newer, more vanilla install method; no, I'm talking about now being on my THIRD MacBook Pro (still supported, not an EOL issue) on which MacOS installs suddenly started erroring out and I was forced to install Linux (hell, on one I even successfully installed Win10 with EFI boot, not the crappy hybrid MBR that Bootcamp forces on you... But no MacOS). As much as I've invested in MBPs, I have zero qualms about running MacOS on something besides bare Apple metal.

I always come back to Linux anyway. I don't miss Photoshop at all, but I barely used it (for the types of small edits which are easy once you're used to GIMP anyway). Same with Illustrator, I'm perfectly fine with Inkscape. I'm looking forward to better Lottie support in both Inkscape and Synfig, because that's the only reason I'd ever bother with AfterEffects, and that seems like a convoluted workflow anyway. Likewise with office, I rarely find a situation where LibreOffice doesn't suit my needs

I'm a big fan of Manjaro (and it's stupid to me that vanilla Arch is still such a pain to install, even to someone with ~18 years of Linux experience like myself), but Ubuntu and its variants have always worked better on MBPs. Also, snaps aside, I prefer PPAs or other third party deb repos to AUR any day (and don't get me started on the horrific RPM collisions I've encountered from RedHat/CentOS/Fedora, OpenSuse, etc.). Also, there's no better distro for widely-supported and organized creative tools (even KXStudio can't compete with ubuntustudio-menu, and I use their repos too for audio). I'm a little miffed that Kubuntu 20.04 is stuck on KDE 5.18 (even if it makes sense because they're both LTS releases), but that will be solved in October with 20.10 (if I don't just go the Rolling Rhino route and pull from the devel repos - have I mentioned that I'm thinking about building my own distro based on all of the above?)

Collapse
 
cegonzalezspace profile image
Carlos G. (+A+CC)

I made an account justo to agree with your comment. More than 10 years on Linux in my case, many distros, and Manjaro KDE has offered the best experience (really surprising for an Arch based rolling release distro).

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

Sorry to disappoint you, then. To be clear, I still prefer Ubuntu-based distros (namely Kubuntu, or soon Ubuntu Studio when it switches to KDE in 20.10, because KDE Neon is even slower than LTS releases to update its base).

I might feel differently when I buy something other than a MacBook for my daily driver (this will be my last, both due to cost and the issues I detailed above). But Manjaro does get a lot of things right... though I don't think including Steam as a dependency of manjaro-{whatever_de}-full is one of them, as trying to remove it (I'm not a gamer) has led to it threatening to remove a lot of packages I do need (manjaro-{whatever_de}-minimal solves this mostly, but it's not a good feeling when coming from Debian/Ubuntu, where metapackages can be removed without uninstalling the dependencies they reference).

Chances are, I'll stick with (K)Ubuntu (Studio, plus a lot of extra repos). I'm not sure I'll ever trust another package manager as much as deb/apt, and I'd say that Ubuntu has done better in hardware support than other distros in 95% or more of the cases I've encountered.

I always try plenty of others, in typical Linux distro-hopping fashion, but always come back to Ubuntu.

Thread Thread
 
cegonzalezspace profile image
Carlos G. (+A+CC)

Yes, I agree with the general diagnosis. The discussion about distros might be interesting, but currently I think desktop environment discussion is more interesting. I'm glad to see many people recognizing the great job KDE is doing.

(K)Ubuntu is great, solid and a huge community which is very important, my default option to everyone who wants to start with Linux or for work. Manjaro is also great, really focused to bring an usable solution, personally I love having the latest software, specially KDE related updates.

But the original question was another, and the answer is yes. With Linux you have many options to get the most productive version of you. That is what you need for work, be productive, and in Linux environment you have the right tools to do that.

Collapse
 
moopet profile image
Ben Sinclair

I'm not sure why you would be surprised about this?

Thread Thread
 
cegonzalezspace profile image
Carlos G. (+A+CC)

Just because of past experiences with ArchLinux.
I don't have a full opinion about Arch... but I think rolling distros can be a bit more difficult to maintain. Generally, I do not recommend Manjaro to newcomers, because you have to worry more about keeping things up-to-date. And with updates, we know, sometimes small things need to be fixed visiting the forums jeje.

Collapse
 
zlorenzini profile image
zlorenzini

With Ubuntu 20.04 and Microsoft having almost completely given in to Linux, you can do some cool stuff now. Install VS Code, Powershell, .Net Core, and Docker. You can spin up a MS SQL Docker container and have a DB in about 5 seconds. Then set up VS Code to work with. NET Core and PS, which is pretty much automatic. Now you can code in C# .NET and MS SQL and publish your code as a Docker container with the web server inside. Or say you'd rather do React Native. Expo runs as well if not better than in any other platform. And as mentioned, scrcpy is the best thing in the world. I have gotten GIMP 2.10 to do everything I need. Mind you, my main system is Windows, but all my laptops are Linux because Linux makes it possible to actually get things done on a Asus Zenbook Flip with the 1.1 GHz ULV CPU. In Windows, it could be 15 minutes before I could use my computer if an update was pending. In Linux 15 seconds no matter what. And I can run GZDoom and MAME with playable framerates, even with a bluetooth keyboard and mouse.

Collapse
 
quazardous profile image
quazardous

I DON'T UNDERSTAND THE QUESTION !

Is linux good enough for everyday programming?

Is it some search engine optimization news ? A SEO troll ?

Now I'm freelance but in my corporate days we switch with nux years ago. Photoshop ? Doh ! Virtualization ! Open your windows VM from a snapshot is actually faster than loading Photoshop.

Fedora+gnome rocks ! Even the font size is better by default on my t470 in FHD. In windows it's too small or you have to max the dpi (but loose space).
And multi destop is working and productive since always. No need to ask your boss for 3 Dell screens to feel comfortable.

But Linux can be picky with laptop hardware sometime. Choose a good laptop (Thinkpads, xps) and your life will be easier.

Good morning troll bro

Collapse
 
x3m profile image
Eduard Lucena

This website have been becoming in an antilinux community. Linux rules the internet and will continue to rule it, if you're lazy to learn it, don't blame the distro. If you call yourself a developer and need a driver, write it.

Collapse
 
cegonzalezspace profile image
Carlos G. (+A+CC)

Yeah... what are the chances you need to write a driver in Linux?

Collapse
 
brokenthorn profile image
Paul-Sebastian Manole

This comment section is full of BS no matter the side they're on. Use your own experience and your own judgement! One article doesn't sum up everything for everyone and that includes you! Like I could tell you that I love both Windows 10 and Mac! How does that help you???

Collapse
 
stefan_stojanovic profile image
Stefan Stojanovic

The most overall comment from these comments + the story from the author => just use dual boot
Linux for programming because its faster and more menagable and Windows for other stuff you don't have on linux
I use Linux Mint XFCE for MERN projects and it's much more fluent then on win

Collapse
 
moghwan profile image
Marwane

I still have the dual boot with windows 10 just in case even I rarely need it lately, but we never know.

Collapse
 
aldridge_ai profile image
Aaron Aldridge

Linux is and always has been associated with programming. It's been common knowledge since before I was born. To even ask the question makes me wonder if the author is really a programmer.

Collapse
 
justinmaxwell profile image
Justin Maxwell • Edited

There is an entire world of Microsoft oriented developers who work in .net, c#, etc and have only fiddled with Linux a bit now and again. They view Linux as a server OS, because that's the only place they've encountered it, and perhaps still don't grasp why the infrastructure team insist on running Linux boxes for web and db servers etc. That (ms) is not my world, but it exists and it is both dominates and is valid in many orgs.

Collapse
 
zlorenzini profile image
zlorenzini • Edited

Fortunately, that is no longer the case. I have a Linux machine running .NET Core, Powershell, and MS SQL Server. You can install the extensions for VS Code so it behaves like Visual Studio, and test and publish your builds. If you use MS's SQL Docker image, you can spin up a SQL server in seconds. You can also use their Dockerfile to publish a .NET Core Function App to a container. Using these procedures, I was able to convert $250+ a month in Azure services to a $19 per month Linux VPS and it's 10 times faster. It's about the most ironic thing in the world, but Microsoft stuff runs way better in Linux.

Thread Thread
 
justinmaxwell profile image
Justin Maxwell

I'm not saying that there are not a ton of .NET people now using Linux... I'm just saying that there is still a vast number yet to take the plunge. But your reply is actually very helpful to me right now (I'm just starting to play with Azure)

Collapse
 
moghwan profile image
Marwane

check my socials in bio if youcre not sure 😁

Collapse
 
johanpiet2 profile image
Johan Pieterse

I am developing in PHP on Symfony stack. Also Java and C#.
For development in php and java Linux is best. I use to use Ubuntu but lately Suse.
I still boot into windows for my day to day work when creating documents and other windows based apps.
WSL totally does not work. After being a developer for 25+ years I could not get it to work.

Collapse
 
aicra profile image
marcia

I like what many are saying with the exception of Google docs...ew.
I'm a GNU Linux dev.
So I want to share my experience here real quick... I took a gig where I was issued a proprietary / Windows system. I also have a lot of Linux Dev kits I work with and on also ...AIoT. So one day I created a simple bash script of under 20 lines to replace this huge workflow on Windows....
I did share this with coworkers who then wanted it on Windows...first of all I don't do that and second of all - the time it would take to recreate this on Windows would be significant. Another thing I noticed was setting up servers and such were so easy on Linux, especially compared to winblows.
I was not surprised to read in one of these posts, people were having problems with modules or drivers - the kernel is so inflated right now... Compared to back in the day. Another thing I see a lot of is developers not understanding how to build modules and load these drivers into the kernel...
I did a gig a few years ago with a macbook and it was slick.. but yeah it wasn't a developer's tool really.
I'll stick to Linux. Despite all the cultural issues with Debian etc.

Collapse
 
roylevi profile image
Roy Olsen

You are certainly not alone in this perception. Working for a successful ISV, all of our developers run Linux in their laptops while just about everyone else runs MacOS, including Ops/SRE. The latter have dedicated Linux workstations to compliment their MacBooks, though.

Collapse
 
ode42 profile image
Otso Kurkela

Linux is absolutely great (I would say the best) OS for programming, but there are exceptions of course. Visual Studio missing is bad, and game development isn't too fun, but for almost all kinds of programming Linux is good choise.

Collapse
 
pentacular profile image
pentacular

It should be clear that Linux is good enough for programming for some people.

Which means that you are asking the wrong question.

The question to ask is, "Are you one of those people, and if not, why not?"

Collapse
 
ramiro000 profile image
Ramiro Escudero

I dual boot Windows and Linux, and I found that both have their uses. I mainly use Windows for gaming, and other inane daily uses, and I use Linux for development. Why? Mainly because of the CLI. Maybe it's the fact I'm used to dev in Linux more than anything, but the workflow seems so seamless and doesn't get in your way. I can easily install/uninstall whatever I need, and if there is a very critical program that only runs on Windows, I can always run it on Wine. I used to run Ubuntu, back in 2008/9, but then I switched to Debian, then to Slackware current (which, while awesome for its no nonsense, diy philosophy, at the end of the day, I had to switch back to a distro where I can be less involved in distro things and more on actually developing) and now I'm using KDE Neon. All in all, I find any Linux distro to be an amazing OS for developing, as it's reliable, easily customizable, doesn't get in your way, and the CLI actually helps in your workflow.

Collapse
 
darkain profile image
Vincent Milum Jr

The way I've done web development for the past 15ish years.

I treat my desktop like a dumb terminal in those regards. My desktop runs whatever OS I happen to be running, and Sublime Text. Then I have a network share into a central file server to actually store the code I'm working on, so I'm always 100% working with a remote copy of the code, nothing is ever local.

Then, I have a whole fleet of VMs on various servers accessing that exact same file share. These different VMs handle unit testing, compatibility testing, and the like.

For instance, one of the main things I was developing was a set of PHP libraries and a core framework. I had different VMs built out for various PHP versions and OSes to ensure compatibility. This was significantly faster than doing docker/containers, as these were all persistent VMs that never shut down. I could get feedback on any one of them doing the entire unit testing suite in under 1s.

All of that code today still works perfectly on PHP 5.4 through 7.4. And yes, I actively maintain EOLed PHP versions. The libraries in question help modernize legacy applications, so they can be integrated while still operating on older installs, and then once the codebase is ready, be pushed to a modern PHP version.

And yet, to circle back around, nothing was tied to the desktop. What ever machine I just happened to be on, would work. Also, another tidbit. My SSH key is managed through a Yubikey, so I even take that with me anywhere I go. I would frequently find myself at a friend's house working on projects with them, and could hop on their dev machines, have full access to my code, and do git commits without worrying about security. This level of mobility is absolutely amazing.

Collapse
 
singhshivani profile image
Shivani Singh • Edited

Yes I think Linux is better specifically than Windows(I'm not a Mac user and haven't tried it for many days to note down my reviews).
In term of the lagging and performance of course Linux is best! When it comes to softwares we always have an alternative mostly in all cases.

I have user more than 10 distros and I think Linux is way better than Windows!

Collapse
 
sabatesduran profile image
Dídac

For me trying to develop in a Windows env has not been an option since I was getting tired of VM's (2014-2016). I've been using Linux for the past 10 years and it has been great, also at work from (2016-2020), now for my job I have to use MacOS and running Docker compose in an Apple machine I have a lot of problems with battery live and heating CPU temps above 100ºC .
For me also I got use to Gimp and Libre Office / Google Docs.

Collapse
 
markbatho profile image
markbatho

Hey! I want to say thank you for mentioning scrcpy! I am using a 5 years old laptop with just 4Gb of ram, and it's pretty not enough for the emulator.
I am using Fedora 32 with Gnome 3.36 DE and it's working great for me. It satisfies my needs like running multiple tabs in Firefox (YouTube always on of them), usually I make website designs in Figma. I can run VS Code smoothly and some command line utilities. In my personal experience I can tell that Fedora it's a great distro and I recommend it for developers or simple users with old hardware.

Collapse
 
_codegears_ profile image
Code Gears

So you complain about the installation and maintenance of macOS. You now that macOS is intended to be installed on Apple machines. I think it's rather uncool to compare your experience with OSes that have a "natural way" to be installed on a HP computer with macOS that has to be "frankensteined" on this machine.

I would be interested in an unbiased experience report, say compared with a similar Apple MacBook Pro.

And yes, for the record, I have an Apple computer as a main dev machine, but also worked with Linux and Windows. I have my preferences for all of those OSes, but in different fields of application.

Collapse
 
moghwan profile image
Marwane

I used mac os with macbook before but I liked to mention it with HP laptop just to clearify that mac is stable wherever the hardware is compatible, even I heard some had issues with it with some macbooks. I tend also not to update it regulary so it could be that I guess.

Collapse
 
cacarrpdxweb profile image
Christopher Carr

" ... linux’s ones in general: ..."

Those aren't Linux problems, they are Adobe and Microsoft problems. :)

Collapse
 
bernardigiri profile image
Bernard Igiri

I've been 100% Linux since at least 2010. I'm more productive when I have a better CLI experience and more available system memory. I also spend way less on hardware as it takes much longer for me to feel like I need an upgrade. In fact my last upgrade was only to get portability from a desktop to a laptop. My current machine is actually slower and it's still a beast with KDE Neon. I have a 9360 XPS 13 Developer Edition with an i7 and 16GB RAM.

Collapse
 
variemai profile image
Ioannis Vardas

Yes. Neeeeext!

Collapse
 
nuculabs_dev profile image
Nucu Labs

Huh, I'm surprised you didn't try Windows Terminal along with WSL on Windows.

I have no problems writing python programs, debugging them and testing them using a remote python interpreter in WSL.

I wouldn't give up on Windows. Microsoft did a lot of improvements and for me it's an absolute pleasure to work in it.

Collapse
 
moghwan profile image
Marwane

Actually I played a little with WSL (not WSL2 tho) but it was a "meh" experience for me. But some comments mentioned that SWL2 is understimated and I'm thinking to give it a shote lated :D

Collapse
 
aleksandrhovhannisyan profile image
Aleksandr Hovhannisyan

I’ll resume my experience with one line: “not great, not terrible”

Accurate, lol.

I already missed the unix cli. Yeah I know there’s cmder and other tools

Have you looked into setting up WSL + Windows Terminal? It's basically like you're using Linux but on a Windows machine. It's not great, and WSL2 does have some memory leak issues at the moment, but it's about as close as you can get to true Linux dev on a Windows machine.

Collapse
 
moghwan profile image
Marwane

I tried the WSL with debian image but not version 2, if you say son i'll give it a try later then!

Collapse
 
ferdelvalle profile image
Fernando Del Valle

I run a arch desktop that runs docker containers with my dev environment, so I SSH into it from any OS.

I thank that unless yourw coding swift, os is not as important ad being able to use the tools of your trade, I mean at tgis point and age, vim runs everywhere, and even BSD runs VSCode...

Collapse
 
psic profile image
psic

What the point about photoshop, light room and excel when talking about programming?
Even Linux, is not about DE, there are other pro and cons with Linux and programming. Even distro is not so important.

Collapse
 
joelbonetr profile image
JoelBonetR 🥇 • Edited

Adobe tools... If you need them you can get Photopea which is a web based tool, and so accessible from any platform and inkscape which is one of the few adobe alternatives which works well enough for being a real alternative.

You can get official drivers from AMD on supported builds (that's why I'm using full AMD devices).

But most important: You must no need photoshop or lightroom, those are digital photography edition tools and you stated "for programming" so it's like i perform a review about using Mac for photo edition and I blame it for not having native docker so I've to virtualize it, getting less performance.

There are a bunch of tools (mainly web tools) that works as a bridge between designers and programmers, like Abstract or Axure Share.

Collapse
 
gabrielfallen profile image
Alexander Chichigin

I'm using a GNU/Linux on a HP Pavilion "gaming" laptop for my job for the last 3+ years. In general, I'm a GNU/Linux user for about 15 years. Luckily I need exactly 0 Windows programs for work.

Funny enough on my current job I'm working on a desktop .NET product that is used almost exclusively on Windows and all my coworkers use Windows, but thanks to .NET Core and Rider I'm perfectly fine. :)

Frankly speaking we specifically maintain GNU/Linux compatibility for the core of our product that supports running on a server. And I never touch GUI part.

As for the GNU/Linux distribution I'm using Linux Mint and perfectly happy with it. :) Everything I have works out-of-the-box with almost zero configuration from my side.

Just a random data point, I'm not arguing for anything. :)

Collapse
 
sswam profile image
Sam Watkins

The title of this post offends me a little! "Is linux good enough for everyday programming?" I think that Linux is extremely better for programming and ops than Windows or Mac, there is no comparison. It is an open-source system created largely by programmers, for programmers.

Personally I do dual boot with Windows 10, which I only need for games and the odd random application. I am not too big on the graphic design, and GIMP suffices for my needs together with command-line tools such as imagemagick and ffmpeg.

You could also explore VirtualBox or similar if you don't like to dual-boot. If some applications that you need don't run on Linux, and don't have suitable equivalents on Linux, and don't run adequately under emulation (such as Wine), and don't work well enough in VirtualBox, please petition the vendors to support Linux in future releases.

Collapse
 
rahxuls profile image
Rahul

Agreed with that.

Collapse
 
abinash393 profile image
Abinash Panda

Most of the developer needs a UNIX like OS for a productive workflow.

Mac works but not everyone can afford it.

If you need a text editor, terminal emulator, web browser then Linux is your best choice.

Those who work with adobe suite or play lots of AAA games then Linux is maybe not a great choice.

Free BSD is very stable and its works but lots of Apps are not available for that platform.

I am currently using KDE neon for about a year I am quite happy with it never crashed Memory uses is ~400MB and it is very customizable.

Collapse
 
ivanjjill profile image
IvanJJill

Hi guys, just out of a curiosity, we love Linux so much, but do you guys donate to open source? And if so, that what amount per year on average?
I myself think in general I'm sending around 50 USD per year to various projects. I'm also buying OS hardware (like pine book pro) to support community

Collapse
 
pawelmiczka profile image
Paweł Miczka

MacOS is the best. It has similar terminal and is Unix based and also has something that Linux doesn't have: big support from big companies. So you have things like Photoshop or Affinity software, MS Office etc. Second thing is that you don't need to worry about drivers.

But I had Ubuntu installed on my old laptop and I must admit that Linux is good starting point for beginners.

Also I tried WSDL but it didn't worked so well so I fully switched to MacOS.

Collapse
 
captain_346 profile image
Shihab Mohammed • Edited

Yes, not only a day or week or month or year you can program or work or play or do anything in your entire life and beyond through out with Linux without shutting down or turning off your device...
Because it's not Windows that means no crashings, no bluescreen, no updates that take over your device, even no lags and hangs...
That's why Linux is using for mostest servers in the world, because that can run flawlessly without any hickups or crashings or shutdowns...

Collapse
 
bam92 profile image
Abel Lifaefi Mbula

Thank you for sharing your experience with us. I appreciate.

I'm a unix-like user (Debian) for many years, so I think I can say something too (also now I'm writing this comment on a W10 machine).

I see many people in the comments talking about Linux (Ubuntu for most of them) lacking drivers and some other software programs. That's true. But, what you should be aware of is how GNU/Linux systems are built. Most of the distros rely on free and open-source standards, unfortunately, some drivers companies (if not most) don't even like the open world, so it is very complicated for the community to do reverse engineering on those kinds of materials.

So, the problem is not at all that GNU/Linux systems are not capable, but the provides don't allow them to do good work for people.

Coming back in programming in general, I can say that it is a bit difficult to easily get started on Windows that on a Linux machine. Software installations and installations management are just simple. Simple commands do a great job.

Collapse
 
yorozuyadev profile image
Yorozuya3 • Edited

For my is better than Windows because It gives me freedom, I can use the distro which fits better to me. I'm the only one who cares about that? Also I prefer a more unix like way to do the things. I don't use Photoshop or Office often,(actually most of programmers dont use it?), so I can use GIMP and LibreOffice, they are free and enough for me. If I have to deal with propietary office documents I can use office online.

Collapse
 
coderslife_io profile image
Drew Knolton

I remember, back in my days, when I first tried a Linux distro. It was Mandrake 10. I remember coding in C and C++, listening to music, and having fun. I'm currently on Pop_OS! 20.04, I am Microsoft-free since 2013 (not entirely true because I use VSCode and play Minecraft).

One of the things I hated in Windows was some problems we had with file permission. I don't know if it has been addressed by now but it was not possible to remove the read-only status of a folder recursively without the need for a "super-admin" sketchy software. Like you said, without any POSIX terminal (like in Linux, macOS, and Unix system), it was impractical. I heard that today WSL 2 Windows is now in the game, but I don't get why I would go to Windows so I could use a software that makes it more like Linux.

And please, for the love of God, can Microsoft just make everybody happy and remove the need for '\r' character?

Collapse
 
joelbonetr profile image
JoelBonetR 🥇 • Edited

Yes of course. I'm using linux as web developer. I only can figure out 3 scenarios on which Linux can't fit for our job:

1- Outdated workarounds (by 10+ years for being precise) and/or bad use of tools, such as needing photoshop for coding (dude WTF? There are tones of tools like Abstract out there to share designs with developers on a friendly way (with version control for designs, inspect tools, available from any device with a browser, and so).

Moreover, if you want to rely on using PS for integrating psds into your html by stubbornness instead on moving to something better from any point of view, you can use photopea which is a Free online photoshop with the 100% features a developer could need and the 90% features a designer who is used to PS could need.

2- You are programming on a .net environment in which case you'll need a windows.

3- You are programming for iOS environment so you'll need a Mac.

Collapse
 
dance2die profile image
Sung M. Kim • Edited

Few weeks ago, I migrated completely to Kubuntu (yes... KDE version of Ubuntu) and NPM package installation has been very fast compared to time it took on Windows 10.

I regret going with KDE, which I thought looked great because

  1. Multi-monitor feature has been buggy
  2. Doesn't auto-rotate the screen (I have a 2-in-1 spectre x360 monitor which I turn upside down once in a while)
  3. IME (I use Korean input) has been hard to set up.

Unity (Ubuntu) has much better support for multi-monitor and auto-rotated my screen and has been a breeze for IME set up.

And also as I am new, documentation and community support is essential. It was tough to find Kubuntu-specific answers as many of setups/configurations were shown in Unity.

Collapse
 
jimmymcbride profile image
Jimmy McBride • Edited

Manjaro -> Gnome is love. Imo Manjaro has best Gnome setup out of the box then any distro I've tried. It's been my daily driver for almost a year now.

I use GIMP and ShotCut and all the other FOS software and it does me just fine. It takes some time to adjust, but I just love the Linux ecosystem and what it stands for.

Collapse
 
laranikal profile image
Carlos Kassab

I am using an HP Pavilion dm4 I bought in 2010, it has an i5 second generation, these are the full features: support.hp.com/us-en/document/c028...

The only change I have done is, I increased memory to 8GB and installed a 500GB SSD.

I have installed CentOS 7 with XFCE and all of this:

  • IntelliJ IDEA
  • ATOM Editor(It seems it works faster than VS Code)
  • Opera Web browser
  • Google Chrome for Netflix and PrimeVideo
  • Thunar file browser.
  • smplayer as music player.

The very good news is that with all of those apps open at the same time, my computer runs very fast and only consuming 3.1 GB ram.

This is, we do not need windows 10 nor the last computer in the market to have fun and work fine.

Even it runs on battery and works very good.

Collapse
 
dephoegon profile image
Kerns Noel

Honestly, I don't see 'linux' as the primary dev platform honestly.

WSL2 is a powerful tool, alongside Hyper-V which is an entirely powerful sideways for a cli tool.
-- There are some polishing needed for wsl2, but assuming you don't hit the 2nd drive hickups. (though easily worked around if you need access to a massive drive)

powershell & cmd are stupidly powerful cli with all the system commands & functionality without a problem.

VS: Code can utilize WSL1/2 linux & within the same system you can as easily swap to linux subsystem & test linux out without any problems) & even without any real effort ... connect to a mac OS install with the same code to test out the program functionality there.

That is as well to point out that 'docker' works perfectly with WSL support & is integrated exceptionally smoothly and allows swapping from the linux kernel to windows kernel.

Honestly, I am not bothered by your post, but I would point out that claiming CLI interface as a linux strength is .... short sited. Now the Unix like setup is one thing, .... but as to much that is a preference.

Collapse
 
abbddos profile image
Abdul Rahman Sabbagh

One good thing about linux is that you don't have to stick to a particular layout or desktop environment, and both KDE and Gnome are highly customizable.

I don't do any graphics, so the lack of powerful software like photoshop was not a big deal, and WPS office is sufficient to my regular work.

The reason I switched to Linux in 2015 was the annoying windows updates, along with its inflexibility. I needed something fast, flexible, affordable and that can run on my old computer at that time.

I kid you not, since I made that switch, I was able to do things that I've never thought of doing on Windows.

Collapse
 
huncyrus profile image
huncyrus

I would say, it is depend on the needs, regulation/policy and pocket size.
But in short: use whichever feel better what suits you.

[tl;dr]
If you have countless money or you can get good revenue then definitely go for MAC because development, containers, frontend related tasks and video edition could work seamlessly, with some limitation of course.

If you need low level development, without any fancy stuff (e.g. no frontend, just pure low~ish level coding, such as c++) then Linux is way ahead of everything. Popular distros mean more support and community knowledge (ofc 85% garbage).

If you have policy, when you have to use MS for development, you still can. It is quite good, cheaper than the mac counterpart, but could have some limitation (docker vs windows 10) and WSL not every single time works and you have to go through a bunch of small details, how and what. And keep in mind, if you pollute your ms host machine, then it will drop significantly the performance and does not make easy to switch between versions.

(ps.: I know virtualbox always an option but with that, you always sacrifice a bunch of performance)

My personal opinion is, either Linux, either Mac for pure development. Mac or Windows for design and MAC for video related.

Collapse
 
190245 profile image
Dave

I use Linux as my daily driver, both at work and at home. So yep, Linux is good enough, to answer your question.

There are things that I need to do that simply aren't as nice in Linux though, like video editing in Adobe... but that's not remotely related to programming (for me).

Collapse
 
nonamepro0 profile image
No Name Pro

I'am using Linux (Ubuntu 20.04 LTS) as host system, for small tools (C#, Python, Bash) i code in VS Code on the Linux.

But for ASP.NET Core, Java and oher demanding Frameworks and Languages,
I code under a virtual machine on windows, cause Visual Studio just runs on Windows or macOS.

And this works very good. Today, the virtual machines are very performant.

I don't have to switch back to Windows 10. The Updates, not a Linux Kernel,.. all these things, is what i don't like on Windows.

The Windows Subsystem works for small tools like nmap or telnet, but Docker, etc. don't work.

I dont use Photoshop, or some else commercial tools. I'am using GIMP for Photoshop, yes, it's not the best.. But it's OpenSource, free, based on non-Profit and more..

Collapse
 
hugoliconv profile image
Hugo

I used macOS for years and I loved it because it has the simplicity of a commercial OS but you can do advanced tasks like any UNIX based system. And because I was using a MacBook Air, the hardware wasn't enough for the tasks I started doing so I build my computer and installed Ubuntu, and it's been great, sometimes I miss some features from macOS but in general, Ubuntu is great for programming.

Collapse
 
leob profile image
leob • Edited

If we talk about "everyday programming" then I'd say Linux only falls short if you really need commercial software like Photoshop, or Microsoft/Windows specific software like MS Office, Visual Studio or .NET ... if you only use open source software like Node, PHP, VSCode, Java and so on then I'd say Linux is more than adequate.

If you need (for instance) game support then you're better off with Windows ... and if you're a graphics design wizard then a Mac might be better ... but the topic of the post is "Is Linux good enough for everyday programming" and then I'd answer that with a resounding "yes".

Collapse
 
arakno profile image
Paulo

Good post, thank you!
I think you would benefit from getting to know elementary.os distribution. Debian based and a the UI just works - unlike every other distro I came to know through my +20y of programming.
Best

Collapse
 
adron profile image
Adron Hall • Edited

It really doesn't depend on the OS, it depends on what the need is for the specific job. But with that said, yes, Linux is more than perfectly capable as a development platform. I use MacOS and Linux exclusively these days, as my job generally revolves around internet related technologies (web dev, back end, etc) and is also heavily focused on Apache Projects and other open source. Because of open source, I'd even argue that Linux is the superior option for most open source projects, unless that open source project involves .NET/C#. Then it might behoove one to have Windows for the Visual Studio option.

But otherwise, MacOS and Linux are entirely, completely, 100% viable for the vast majority of software development.

For the graphics tools though, if you can switch to Linux compatible software then you can easily transfer your dev there. I can profer other tips too for Gimp and whatever else one would need.

However the other option is to, if you want a solid platform, I'd still stick to MacOS for the foreseeable future (until maybe when they change a chipset and that may mess things up).

Collapse
 
ucavalcante profile image
Ulisses Cavalcante

Nice to know about your experience, i work only with Ubuntu arround one month and back to windows 10 with wsl2 after that, there's great things in Ubuntu I'm want to bring to windows.

Collapse
 
powerc9000 profile image
Clay Murray

I've never found any issue every to developing on linux really. Most every tool was either made for or works just fine on linux, except for games stuff. Games is certainly a different beast.

Collapse
 
jdeepd profile image
JDeep

Well the point is no OS is complete. You want Productivity/Designing go for mac , You want gaming , choose windows. You want little bit from both worlds , choose Linux

Collapse
 
mkellsy profile image
Michael Kellsy

Does it matter? VS Code can run on anything. And if you need to test on a platform, that's what VMs are for.

Collapse
 
akdeberg profile image
Anik Khan

WSL(windows subsystem for linux) to rescue.........

Collapse
 
lanceofwhichwedream profile image
Lance Zeligman

This post inspired me to create a Dev.to account, thanks for the awesome write up! I'm still on Ubuntu at the moment but that's only because I love having ZFS baked into my kernel from source.

Collapse
 
sirkuttin profile image
Kirk Sutton

Like shocked that this article is being written in this century.

Collapse
 
captain_346 profile image
Shihab Mohammed

I think you're kidding right? If you are a developer you know about Linux's greatness!

Collapse
 
zgualberto profile image
zgualberto

Try WSL 2. You can keep your MS Office and Photoshop while doing the Unix CLI on the Windows Terminal

Collapse
 
minemaxua profile image
Maksym Minenko

For sure! I've been using Debian at home for at least a decade already.

Collapse
 
louislow profile image
Louis Low

Absolutely.

Collapse
 
captain_346 profile image
Shihab Mohammed • Edited

Linux is the greatest OS of all time* nothing more to say...

Collapse
 
tmg_bedus profile image
बेद

I have been using ubuntu for 4 years, and I am very happy with it. I do need photoshop and illustrator occasionally, well I use another windows desktop.

Collapse
 
lordofcodes profile image
Sujeet Agrahari

Using win 10 with WSL 2, I am a backend developer. Let's see how far things go. 😂

Collapse
 
tarash1 profile image
Taras

I'm using Linux for everyday programming and primary OS on my laptop since 2014

Collapse
 
miguelmota profile image
Miguel • Edited

I've been using Arch Linux as my main distro and it works so well for development and everything else that I'll probably never go back to Windows or MacOS anytime soon. I ♡ 🐧

Collapse
 
rishitkhandelwal profile image
Rishit Khandelwal

For Photoshop I use WINE. It works better on Linux than windows 10 because windows is a Ram hog doesn't let me run Photoshop.

Collapse
 
fhek789 profile image
Felipe Kinoshita

Apple release iLife when Adobe was lacking on macOS, i think we (the Linux community) should complain about this to Canonical and RedHat, and maybe they can release a good alternative to Adobe CC

Collapse
 
syeikhanugrah profile image
Syeikh Anugrah

I'm on your side, i totally agree!