Okay, without starting a religious argument - best linux distro for development?
-
I've been using Linux since the 90s, so I know all about Xfce. And I use direct Debian on servers/WSL. But, he's presumably looking for a beginner friendly _desktop_ OS by the nature of the question. And as much as I love direct Debian dealing with drivers for it are not beginner friendly. Couple things to note, KDE uses less resources than Xfce last I checked. If you like it, cool. But, let's not play the game of "oh mine's better because I use it" please. Also, if someone is determined to use Xfce, Mint also makes a Xfce edition. Which for a beginner is a better way to go than direct Debian. I say this as a dude who loves Debian.
Jeremy Falcon
"But, he's presumably looking for a beginner friendly desktop OS by the nature of the question." Not so fast there whipper snapper :) I'm just getting ready to jump back in the pool. The desktop doesn't concern me too much. So, let me supply some context. Sure, there is the desktop, but I can manage that. I cut my teeth on X11/Xtoolkit and Motif. I've developed on and supported X Windows Servers. I've also supported and developed on Solaris, HPUX, AIX, Ultrix. I don't care about the desktop per se'. But if you do hard core unix development, it really comes down to stability, predictability and toolsets. Considering that linux has a common code base, and ignoring the desktop, I would expect any development tools to run on any distribution.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
-
"But, he's presumably looking for a beginner friendly desktop OS by the nature of the question." Not so fast there whipper snapper :) I'm just getting ready to jump back in the pool. The desktop doesn't concern me too much. So, let me supply some context. Sure, there is the desktop, but I can manage that. I cut my teeth on X11/Xtoolkit and Motif. I've developed on and supported X Windows Servers. I've also supported and developed on Solaris, HPUX, AIX, Ultrix. I don't care about the desktop per se'. But if you do hard core unix development, it really comes down to stability, predictability and toolsets. Considering that linux has a common code base, and ignoring the desktop, I would expect any development tools to run on any distribution.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
Then yeah, it really doesn't matter which distro you choose. Most popular distros will have the tools you want. If it's any Debian based distro (or Debian itself) it's simply a matter of... `sudo apt install build-essential cmake -y` ...for most things related to C/C++. Apps like VSCode will work on any distro too.
Jeremy Falcon
-
I swear I've asked this before, but I cannot find it. Honey, looking at you because for some reason I think you do development on Linux. Direct link to past discussions welcome. I'm in the process of cleaning up some hardware and repurposing it. Looking at C/C++ and heading over to full stack development.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
I'm happy with PopOS!. It's based on Ubuntu, with some stuff stripped away, and designed to work well with Nvidia. I switched from Ubuntu to PopOS! because Ubuntu Snaps pissed me off to no end. Particularly their refusal to allow users to stop automatic updates, which had me jumping through hoops and crippling my Ubuntu installation to achieve. I vaguely remember I read that they eventually backed from that paternalistic policy but I will still try to avoid Ubuntu in my future endeavors. It just felt way too Microsoft-y to me.
-
I swear I've asked this before, but I cannot find it. Honey, looking at you because for some reason I think you do development on Linux. Direct link to past discussions welcome. I'm in the process of cleaning up some hardware and repurposing it. Looking at C/C++ and heading over to full stack development.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
I have a coworker who swears on ArchLinux, but is the OS alluded to in one of the replies below. This is supposed to give what you exactly need, no more and no less, i.e. no crapware/bloatware, etc, but of course steep learning curve and all that jazz. Personally I use Debian as I am not as daring (and sometimes Ubuntu, as it has some favourable features like command line tab-completions preconfigured) . More important for me is the minimalistic i3 window manager that helps navigation between windows extremely smooth. I am playing with Qubes these days. It helps separate your activities into different Qubes for security (each Qube will have its own border colour). Clipboard transfer between these Qubes can be restricted, so you can relatively securely have your work and personal qubes on the same machine. I like it that i3 customized for Qubes is also there.
-
I'll tell you Jeremy, the main thing that's stopping me right now from installing Linux as a dual boot on one of my machines, is the fact that I don't know how to cleanly remove the GRUB bootloader and restore the Windows one in the event that I want to remove the dual boot.
The difficult we do right away... ...the impossible takes slightly longer.
You can boot on an install/recover CD/USB and use BCDEDIT https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdedit-command-line-options well it also depends on how the disk was formatted organised (BIOS vs EFI) and such details
-
"But, he's presumably looking for a beginner friendly desktop OS by the nature of the question." Not so fast there whipper snapper :) I'm just getting ready to jump back in the pool. The desktop doesn't concern me too much. So, let me supply some context. Sure, there is the desktop, but I can manage that. I cut my teeth on X11/Xtoolkit and Motif. I've developed on and supported X Windows Servers. I've also supported and developed on Solaris, HPUX, AIX, Ultrix. I don't care about the desktop per se'. But if you do hard core unix development, it really comes down to stability, predictability and toolsets. Considering that linux has a common code base, and ignoring the desktop, I would expect any development tools to run on any distribution.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
The suggestion to run Linux off a stick is probably the best initial choice. For a few minute's effort, you can test drive live versions of various distros. There are several 3rd party applications that will burn an OS to a stick -- the last one I used was Balena Etcher: balenaEtcher - Flash OS images to SD cards & USB drives[^] I dabble with Linux (too much stuff tied to Windows to switch), and running various distros from stick works fine for my needs. For long term, you're probably better served with a dual boot, but for now you play in a risk-free environment.
-
nah, you're the coding witch - feed her small children and gingerbread. "If something goes sideways, like always happens on dev machines, and doubly so with unix dev machines in my experience, I can simply google the problem, because among the zillions of Ubuntu users some poor schlub has both encountered the problem before, and posted about it, along with a solution." This is what concerns/intrigues me. I have an answer to Jeremy to post shortly. I grew up on OpenVMS with X Windows and eventually migrated to name your flavor of Unix X Windows. I was in the warm womb of restricted hardware. Enter linux - where it was targeted at PC based hardware, and the level of instability reached holy $hit. I spent days trying to get X Windows (before that other thing to recognize my card/monitor - it was stupid complicated. Setting aside the graphics, which I will work through, what I need is a common stable platform that behaves
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
charlieg wrote:
Setting aside the graphics, which I will work through, what I need is a common stable platform that behaves
This is the key point in this discussion. From that POV, going with any of the major distributions will probably work for you. Codewitch is spot on. Regarding resources, I expect any modern PC will run the major distros fine. Last year I replaced my 8 yo Lenovo Yoga 15 with a Surface laptop, and in the cleanup of the Yoga I installed Mint. It runs just fine on what was an above-midrange CPU, 9 years ago. Upstream I mentioned booting from a stick -- use a USB3 port if you have it. I've run sticks in USB 2, 3.0, and 3.1 Gen 2, and the faster the port, the better, at least some of the time.
-
I'm happy with PopOS!. It's based on Ubuntu, with some stuff stripped away, and designed to work well with Nvidia. I switched from Ubuntu to PopOS! because Ubuntu Snaps pissed me off to no end. Particularly their refusal to allow users to stop automatic updates, which had me jumping through hoops and crippling my Ubuntu installation to achieve. I vaguely remember I read that they eventually backed from that paternalistic policy but I will still try to avoid Ubuntu in my future endeavors. It just felt way too Microsoft-y to me.
pushing updates all the time is EXACTLY what I want to avoid. Thank you for the head's up.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
-
I swear I've asked this before, but I cannot find it. Honey, looking at you because for some reason I think you do development on Linux. Direct link to past discussions welcome. I'm in the process of cleaning up some hardware and repurposing it. Looking at C/C++ and heading over to full stack development.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
-
pushing updates all the time is EXACTLY what I want to avoid. Thank you for the head's up.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
Yep. In their mind it's safer to force-push updates of not only OS programs, but also *any* third parties whose software I installed at one point in the past. I don't automatically trust every new version that comes out, and for many programs I don't even need the security fixes (which often come together with all kinds of regressions, new issues, and sometimes even worse security holes). As a sophisticated user I want to decide what gets installed on my machine and when. But some people simply lack the ability to think critically beyond the (admittedly often justified for novice users) mantra of "keep everything updated at all times".