DEV Community

Cover image for Is Ubuntu Or Fedora A Better Distro For Programmers?
Prahlad Yeri
Prahlad Yeri

Posted on

Fedora vs Ubuntu Is Ubuntu Or Fedora A Better Distro For Programmers?

A whole lot of thinking goes into what distro you should use as a dev. Its not just about your preference or what you like in terms of the Desktop GUI, packaging system or any other aspects of the workflow but there are a lot of other things too. For example, the larger ecosystem of that distro and the kind of support you get matter a lot.

Personally, I use Ubuntu as a daily driver, so I'm a bit biased here! The best thing that I like about Ubuntu is that it simply works. Perhaps the Red Hat and openSUSE have also improved a lot these days but there was a time at least as late as the 2010-2014s when Ubuntu had an upper hand in hardware support and desktop finesse. If you had a laptop with a special kind of touchpad or a WiFi/graphic card manufactured by a "linux unfriendly" actor like NVidia or Broadcom, chances are that it'd simply give up on you with any other distro than Ubuntu.

And even in cases where they did work, they left a lot to be desired. With Debian, for instance, many default settings are simply unusable on a desktop. For example, font anti-aliasing is usually set to off (at least on Debian-XFCE when I last tried) giving your desktop fonts a weird look. Secondly, they don't even provide a GUI to control your touchpad settings, they expect you to Google about the issue and fiddle with the byzantine /etc/* config files yourself!

Not that I can't do that, but why should I when Ubuntu gives me a configured and polished desktop by default?

Coming to Fedora, the desktop never had any issues (especially in the GNOME version), but I somehow didn't much like their packaging system (yum/dnf). Ubuntu's apt install works seamlessly and comes with special tools like synaptic and aptitude to take care of advanced scenarios. To be fair, I didn't put much effort to learn dnf but I don't see the point of it unless I'm getting any long-term benefit out of it.

Another advantage of Fedora which is often touted is that they provide a "bleeding edge" distro which means the apps are all supposed to be the latest versions. But frankly, I've never felt the need for a super-latest package at all and in a few weeks time, the new release will trickle down to all the distros eventually anyway. Running a stable and secure version of an app is far more important to me than having the latest one.

Finally, what I don't like about Ubuntu is their support! The official bug tracker at bugs.launchpad.net/ubuntu is atrocious when it comes to getting a problem solved. The maintainers' attitude there is like that of govt. employees! But thankfully, there are some other places like askubuntu and ubuntuforums where you can find sane voices.

What distro do you use as a daily driver for programming? What are its pros and cons, and are you happy with it?

Latest comments (103)

 
v6 profile image
πŸ¦„N BπŸ›‘ • Edited

DEPRECATED eh? I love when devs do this... "we are in charge of the product!"

Might work be constantly done by Google, but applying that product management approach to backend stuff? Yeah good luck with that. Lucky for the rest of us yum is not a SaaS I guess.

 
v6 profile image
πŸ¦„N BπŸ›‘

Seems like a trade of features for performance, as the perceived deficiencies of yum, from that link you posted, suggest:

Perceived deficiencies of yum (which DNF is intended to address) include poor performance, high memory usage, and the slowness of its iterative dependency resolution.

Collapse
 
v6 profile image
πŸ¦„N BπŸ›‘

removal of a network tool, supposedly replaced by another one that was not in the dependency list

Not cool. Hadn't heard of this. Would you be willing to save me a search and source this?

Collapse
 
v6 profile image
πŸ¦„N BπŸ›‘

I've been there, and there's a light at the end of the tunnel. The solutions are out there, and can happen with quiet, incremental, fully compliant changes rather than revolution.

Collapse
 
stevepryde profile image
Steve Pryde • Edited

I use Manjaro and have done for the past 2+ years. I previously used Arch for years before that, but I would see probably 1 or 2 major breakages per year (remember the glibc update?). Manjaro delays updates for 2 weeks allowing for those major breakages to be resolved before they reach users. Also Manjaro has a much nicer installer, and a little more polish. It just works, and I haven't reinstalled in a very long time (it's rolling release).

Ubuntu, ironically, used to become a little less stable for me after a few version updates. It wasn't terrible - actually it is still probably my goto distro for just getting something up and running. I've had a lot of trouble with Fedora - F28 was great but the upgrade to F29 just broke everything. I used OpenSUSE a long time ago but these days it feels too customized and unstable. Tumbleweed did not work for me at all. I used to distro-hop a lot but since switching to Arch and then Manjaro I don't like the others as much. That said, if things started to break with Manjaro I would search elsewhere.

Collapse
 
strzibny profile image
Josef Strzibny

Fedora. I am biased though, because I am Fedora developer (ex-Red Hat packager).

The best thing that I like about Ubuntu is that it simply works

Fedora also just works, but I always recommend to pair it with a laptop used by Red Hat engineers. That means Thinkpads. If there is a hardware problem, you are more likely to see it fixed.

Running a stable and secure version of an app is far more important to me than having the latest one.

Fedora is super stable these days. Unless you run rawhide directly or testing packages, Fedora is not any less stable than Ubuntu. Any reason to believe otherwise (apart from marketing)?

but I somehow didn't much like their packaging system

This comes to personal taste (and experience). I definitely prefer RPM and DNF to manage anything. One cool think about Fedora is Copr build system that let's you create and host your RPM repositories easily (also offers many packages that are not in Fedora).

Fedora is actually great for developers.

As an example we directly package Vagrant with libvirt that you can run in 5 minutes and have reproducible environments for your projects. Try to set it up in Ubuntu and come back to me ;).

Another example is that it provides daemon-less alternative to Docker that does not need sudo called Podman. (Here is how to run Docker containers in Fedora 31.) Podman is a RH project and will have first-class support in Fedora.

Yet another think to consider might be the latest stock GNOME environment and language environment (so you sometimes don't need version managers).

Collapse
 
maxdevjs profile image
maxdevjs

Wow... no sign of NixOS, Void or Solus here. Each of these displays dev.to so well :)

Collapse
 
theodesp profile image
Theofanis Despoudis

I've tried both professionally but I always end up using an ubuntu variant such as ubuntu-mate.org/

Collapse
 
osde8info profile image
Clive Da

use ANY os then run xubuntu OR linuxliteos inside virtualbox

 
xexyl profile image
xexzy • Edited

dnf is still awful for administrators.

The logging is a bloody nightmare. Even the devs admit that it wasn't ready in what they wanted when they released it (see below). They actually suggest too that there's an analogue to /var/log/yum.log - in dnf. No there ruddy well isn't. Not at all. It's a joke.

They say they think that users (as if installing software is a 'users' thing?) prefer not having to write scripts yet (1) they gave a little script (because their helper command was incomplete, see) and (2) it's presumptuous to say the least: who's to say the system is even up? What happened to remote logging? Sheer madness. But then again so is systemd and it's binary logging. And everything else for that matter.

Besides. Any administrator who's worth their salt is more than capable of writing scripts to parse things. Yet they think they know what's best for the users - making them use a tool built for them when before you could do it your own way - or not. Well you still can but you have to do clean-ups on the log file (which you didn't have to do in the past). Basically dnf is terrible.

Thread Thread
 
v6 profile image
πŸ¦„N BπŸ›‘

yum was used for like a decade before.

This reads like you mean to imply that "was used for like a decade before" is a bad thing, but I'm sure that wasn't how you meant it, no?

Ops greybeards & automationeers, have you met the likes of us?

Collapse
 
xexyl profile image
xexzy • Edited

Writing an article along the lines of - 'Is X or Y a better distro for programmers?' - is the same thing as saying I prefer this for these reasons - but it does not say which is better because better is subjective. Ubuntu? No thanks. I'd rather vomit. Also if you compare only two that's pretty limited.

Basically there is no 'better'. You seem to prefer Ubuntu. That's fine. Doesn't make it better though.

Collapse
 
avxkim profile image
Alexander Kim

MacOS is the best of both worlds, in this case Windows and Linux.

Collapse
 
blackbear710 profile image
Blackbear

Isn't that what Kubernetes is for now??

It doesnt matter what or where you type code in

K8s

Collapse
 
pencillr profile image
Richard Lenkovits

I recently ditched Fedora for Ubuntu. The package system gave me a hard time a lot of times, as there were a lot of things that were unavailable and I ended up struggling to install and configure stuff. It's just that apt repositories are better, as they are more commonly used.

The last drop in the glass was when I was trying to get a PostgreSQL server running. After a couple of hours, I decided it was easier to reinstall ubuntu and just get it with apt.

Collapse
 
mohdsalmanshaikh63 profile image
mohdsalmanshaikh63

Pop os 18.04 Lts. The best stable and gorgeous looking distro.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.