I have been using Windows my entire life, but since I got my Steam Deck I’ve been considering trying to get into Linux.
I obviously don’t have much of an idea where to begin, other than that I’m currently also trying to learn Javascript. I’d like a basic workstation I can code on and mess with, that doesn’t run more than a couple hundred. Could use some recommendations for hardware plus where to begin.
I never considered the backend could have different frontends. So is Ubuntu just a different desktop environment for Debian? Or is it like I could just install a different desktop environment on top of my old PC’s Ubuntu installation?
Slackware, Ubuntu, Mint , Debian… They’re called distributions and they’re well… Distrubutors of software. Imagine they’re like different app stores.
Not all software is present in all distros, but the most used ones are. And for everything else, there’s Flatpak, which is sort of a distro-agnostic app store.
So there are several desktop environments (DE) out there, the big ones being GNOME and KDE. And distros will usually pick one as the default but will also offer others.
As an example, Debian doesn’t lean much on its default DE, you’re very much free to pick whatever you want. Mint, on the other hand, will only truly support Cinnamon, even though it packages other DEs.
Another thing is that not all software will be at its latest version on all distros. The stable branch of Debian is favored by server usage because they take a very deliberate approach to updates, making sure what they distribute is rock solid before shipping. The side effect is that packages are often quite a few versions behind the bleeding edge. Rolling releases like OpenSUSE Tumbleweed are always updating, so you’re close to the latest software, but also closer to bugs.
Hope I helped.
The core of Ubuntu is built on Debian, but the maintainers create a lot of their own packages based on the latest versions of software available. So for example both distributions have a version of Python available, but the one in Ubuntu might be the very latest release while the one in Debian may be several months old because it goes through more testing. I like to compare their usage to the difference between using Ubuntu for a desktop computer (where it’s not the end of the world if something breaks) to using Debian for a server (where you absolutely need rock-solid services that will never fail you). And of course Ubuntu and Debian are not your only choices, there are even other distributions which are based on Debian or Ubuntu, several distributions based on Redhat, and plenty of others which are completely built in other ways. If you really want to learn the nuts and bolts of it, check into the Linux-from-scratch project which walks you through building your own system completely from compiled source code.
Now the desktop environment is a whole different thing, and Linux gives you a lot of choices there too, from very lightweight desktops that could run on a twenty year old computer to much heavier desktops with a ton on features which require more modern hardware. The nice thing about desktop environments is you’re not stuck with just one. You can actually load up several and choose which one to load when you log in to the desktop, then later on dump the ones you don’t like. So the important thing is finding a base OS you like first, then everything on top of that can be changed as you learn more about Linux.